1
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 [ARM] support tracing when using newer compilers 2009-08-13 20:34:36 +02:00
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 [ARM] 5577/2: ep93xx: syscon locked register functions 2009-07-09 16:10:51 +01:00
debug.S [ARM] 5412/1: XSCALE: add ice dcc support 2009-02-27 20:57:46 +00:00
dma-isa.c
dma.c
ecard.c
ecard.h
elf.c [ARM] disable NX support for OABI-supporting kernels 2009-05-23 11:36:20 +01:00
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 [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
ftrace.c
head-common.S ARM: 5739/1: ARM: allow empty ATAG_CORE 2009-10-02 22:32:34 +01:00
head-nommu.S nommu: Do not override the CP15 control reg value returned from initfunc 2009-07-24 12:34:59 +01:00
head.S Thumb-2: Implementation of the unified start-up and exceptions code 2009-07-24 12:32:54 +01:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
io.c
irq.c ARM: Show FIQ in /proc/interrupts on CONFIG_FIQ 2009-08-17 00:00:41 +01:00
isa.c [ARM] arch/arm/kernel/isa.c: missing definition of register_isa_ports 2009-01-08 15:53:08 +00:00
iwmmxt.S
kgdb.c
kprobes-decode.c
kprobes.c ARM: 5715/1: Make kprobes unregistration SMP safe 2009-09-21 16:39:12 +01:00
machine_kexec.c [ARM] Storage class should be before const qualifier 2009-02-10 09:59:19 +00:00
Makefile Merge branch 'origin' into for-linus 2009-09-24 21:22:33 +01:00
module.c Thumb-2: Add support for loadable modules 2009-07-24 12:32:59 +01:00
process.c Thumb-2: Implementation of the unified start-up and exceptions code 2009-07-24 12:32:54 +01:00
ptrace.c nommu: ptrace support 2009-07-24 12:34:58 +01:00
ptrace.h
relocate_kernel.S
return_address.c [ARM] 5613/1: implement CALLER_ADDRESSx 2009-07-21 17:21:28 +01:00
setup.c ARM: 5580/2: ARM TCM (Tightly-Coupled Memory) support v3 2009-09-15 22:11:05 +01:00
signal.c Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-09-14 17:48:14 -07:00
signal.h
smp_scu.c [ARM] 5516/1: Flush the D-cache after initialising the SCU 2009-05-28 13:52:05 +01:00
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 [ARM] 5613/1: implement CALLER_ADDRESSx 2009-07-21 17:21:28 +01:00
sys_arm.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
sys_oabi-compat.c Separate out common fstatat code into vfs_fstatat 2009-04-20 23:02:51 -04:00
tcm.c ARM: 5580/2: ARM TCM (Tightly-Coupled Memory) support v3 2009-09-15 22:11:05 +01:00
tcm.h ARM: 5580/2: ARM TCM (Tightly-Coupled Memory) support v3 2009-09-15 22:11:05 +01:00
thumbee.c
time.c [ARM] 5382/1: unwind: Reorganise the stacktrace support 2009-02-12 13:21:17 +00:00
traps.c ARM: Ensure do_cache_op takes mmap_sem 2009-09-28 18:06:21 +01:00
unwind.c Thumb-2: Implementation of the unified start-up and exceptions code 2009-07-24 12:32:54 +01:00
vmlinux.lds.S Merge branch 'master' into for-linus 2009-09-22 21:01:40 +01:00
xscale-cp0.c