linux/arch/arm/kernel
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>
2009-10-12 23:40:10 -07:00
..
.gitignore
armksyms.c
arthur.c
asm-offsets.c
atags.c
atags.h
bios32.c
calls.S net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
compat.c
compat.h
crunch-bits.S
crunch.c
debug.S
dma-isa.c
dma.c
ecard.c
ecard.h
elf.c
entry-armv.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
entry-common.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
entry-header.S make Linux bootable on ARM again 2009-09-26 10:06:53 -07:00
fiq.c
ftrace.c
head-common.S ARM: 5739/1: ARM: allow empty ATAG_CORE 2009-10-02 22:32:34 +01:00
head-nommu.S
head.S
init_task.c
io.c
irq.c
isa.c
iwmmxt.S
kgdb.c
kprobes-decode.c
kprobes.c
machine_kexec.c
Makefile Merge branch 'origin' into for-linus 2009-09-24 21:22:33 +01:00
module.c
process.c
ptrace.c
ptrace.h
relocate_kernel.S
return_address.c
setup.c
signal.c
signal.h
smp_scu.c
smp_twd.c ARM: Fix __cpuexit section mismatch warnings 2009-09-28 18:06:21 +01:00
smp.c ARM: Fix __cpuexit section mismatch warnings 2009-09-28 18:06:21 +01:00
stacktrace.c
sys_arm.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
sys_oabi-compat.c
tcm.c
tcm.h
thumbee.c
time.c
traps.c ARM: Ensure do_cache_op takes mmap_sem 2009-09-28 18:06:21 +01:00
unwind.c
vmlinux.lds.S
xscale-cp0.c