linux/arch/arm
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
..
boot
common ARM: 5735/1: sa1111: CodingStyle cleanups 2009-10-02 22:32:33 +01:00
configs Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/xscaleiop 2009-10-02 22:31:04 +01:00
include/asm net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
kernel net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
lib
mach-aaec2000
mach-at91 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-09-25 07:22:11 -07:00
mach-bcmring ARM: 5733/1: fix bcmring compile error 2009-10-01 16:26:16 +01:00
mach-clps711x
mach-davinci ARM: includecheck fix: mach-davinci, board-dm365-evm.c 2009-09-28 18:06:20 +01:00
mach-ebsa110
mach-ep93xx
mach-footbridge
mach-gemini
mach-h720x
mach-integrator ARM: Fix section mismatch warning in Integrator pci_v3 2009-09-28 18:04:32 +01:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-ixp23xx
mach-ixp2000
mach-kirkwood
mach-ks8695
mach-l7200
mach-lh7a40x
mach-loki
mach-mmp
mach-msm
mach-mv78xx0
mach-mx1
mach-mx2
mach-mx3
mach-mx25
mach-mxc91231
mach-netx
mach-nomadik
mach-ns9xxx const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
mach-omap1
mach-omap2 omap: Fix wrong condition check in while loop for mailbox and iommu2 2009-09-28 09:21:26 -07:00
mach-orion5x
mach-pnx4008
mach-pxa
mach-realview
mach-rpc
mach-s3c24a0/include/mach
mach-s3c2400
mach-s3c2410
mach-s3c2412
mach-s3c2440
mach-s3c2442
mach-s3c2443
mach-s3c6400
mach-s3c6410
mach-s5pc100
mach-sa1100 ARM: Remove unused CONFIG SA1100_H3XXX 2009-09-28 18:06:20 +01:00
mach-shark
mach-stmp37xx
mach-stmp378x
mach-u300 ARM: 5731/2: Fix U300 generic GPIO, remove ifdefs from MMCI v3 2009-10-01 16:26:15 +01:00
mach-versatile
mach-w90x900
mm ARM: 5728/1: Proper prefetch abort handling on ARMv6 and ARMv7 2009-10-02 22:34:32 +01:00
nwfpe
oprofile
plat-iop Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/xscaleiop 2009-10-02 22:31:04 +01:00
plat-mxc
plat-omap omap: Fix MMC gpio_wp for BeagleBoard C2 and above 2009-09-24 16:23:17 -07:00
plat-orion
plat-pxa
plat-s3c
plat-s3c24xx s3cmci: add better support for no card detect or write protect available 2009-10-01 16:11:15 -07:00
plat-s3c64xx
plat-s5pc1xx
plat-stmp3xxx
tools
vfp
Kconfig
Kconfig-nommu
Kconfig.debug
Makefile