You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Arnaldo Carvalho de Melo
a2e2725541
net: Introduce recvmmsg socket syscall
...
Meaning receive multiple messages, reducing the number of syscalls and
net stack entry/exit operations.
Next patches will introduce mechanisms where protocols that want to
optimize this operation will provide an unlocked_recvmsg operation.
This takes into account comments made by:
. Paul Moore: sock_recvmsg is called only for the first datagram,
sock_recvmsg_nosec is used for the rest.
. Caitlin Bestler: recvmmsg now has a struct timespec timeout, that
works in the same fashion as the ppoll one.
If the underlying protocol returns a datagram with MSG_OOB set, this
will make recvmmsg return right away with as many datagrams (+ the OOB
one) it has received so far.
. Rémi Denis-Courmont & Steven Whitehouse: If we receive N < vlen
datagrams and then recvmsg returns an error, recvmmsg will return
the successfully received datagrams, store the error and return it
in the next call.
This paves the way for a subsequent optimization, sk_prot->unlocked_recvmsg,
where we will be able to acquire the lock only at batch start and end, not at
every underlying recvmsg call.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago
..
.gitignore
…
Makefile
alpha: binfmt_aout fix
16 years ago
alpha_ksyms.c
…
asm-offsets.c
…
binfmt_loader.c
alpha: binfmt_aout fix
16 years ago
console.c
…
core_apecs.c
…
core_cia.c
…
core_irongate.c
…
core_lca.c
…
core_marvel.c
alpha: AGP update (fixes compile failure)
16 years ago
core_mcpcia.c
…
core_polaris.c
…
core_t2.c
…
core_titan.c
alpha: AGP update (fixes compile failure)
16 years ago
core_tsunami.c
…
core_wildfire.c
…
entry.S
…
err_common.c
…
err_ev6.c
alpha: titan and marvel build fixes
16 years ago
err_ev7.c
alpha: titan and marvel build fixes
16 years ago
err_impl.h
alpha: titan and marvel build fixes
16 years ago
err_marvel.c
alpha: titan and marvel build fixes
16 years ago
err_titan.c
alpha: titan and marvel build fixes
16 years ago
es1888.c
…
gct.c
…
head.S
alpha: convert to use __HEAD and HEAD_TEXT macros.
16 years ago
init_task.c
alpha: use .data.init_task instead of .data.init_thread.
16 years ago
io.c
…
irq.c
…
irq_alpha.c
alpha: remove obsolete hw_interrupt_type
16 years ago
irq_i8259.c
alpha: remove obsolete hw_interrupt_type
16 years ago
irq_impl.h
alpha: remove obsolete hw_interrupt_type
16 years ago
irq_pyxis.c
alpha: remove obsolete hw_interrupt_type
16 years ago
irq_srm.c
alpha: remove obsolete hw_interrupt_type
16 years ago
machvec_impl.h
…
module.c
…
ns87312.c
…
osf_sys.c
Push BKL into do_mount()
16 years ago
pci-noop.c
…
pci-sysfs.c
…
pci.c
alpha: convert u64 to unsigned long long
16 years ago
pci_impl.h
alpha: AGP update (fixes compile failure)
16 years ago
pci_iommu.c
alpha: AGP update (fixes compile failure)
16 years ago
process.c
headers: utsname.h redux
16 years ago
proto.h
alpha: titan and marvel build fixes
16 years ago
ptrace.c
headers: smp_lock.h redux
16 years ago
setup.c
alpha: bad macro expansion, parameter is member
16 years ago
signal.c
KEYS: Add missing linux/tracehook.h #inclusions
16 years ago
smc37c93x.c
…
smc37c669.c
alpha: convert u64 to unsigned long long
16 years ago
smp.c
cpumask: arch_send_call_function_ipi_mask: alpha
16 years ago
srm_env.c
…
srmcons.c
…
sys_alcor.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_cabriolet.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_dp264.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_eb64p.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_eiger.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_jensen.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_marvel.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_miata.c
…
sys_mikasa.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_nautilus.c
…
sys_noritake.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_rawhide.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_ruffian.c
time: move PIT_TICK_RATE to linux/timex.h
16 years ago
sys_rx164.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_sable.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_sio.c
…
sys_sx164.c
…
sys_takara.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_titan.c
alpha: remove obsolete hw_interrupt_type
16 years ago
sys_wildfire.c
alpha: remove obsolete hw_interrupt_type
16 years ago
systbls.S
net: Introduce recvmmsg socket syscall
16 years ago
time.c
alpha: convert to use arch_gettimeoffset()
16 years ago
traps.c
alpha: convert u64 to unsigned long long
16 years ago
vmlinux.lds.S
alpha: Fix duplicate <asm/thread_info.h> include
16 years ago