linux/arch/sparc
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 sparc64: build compressed image (zImage) by default 2009-08-16 18:21:47 -07:00
configs sparc: Update defconfigs. 2009-09-16 00:31:26 -07: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 sparc64: Fix section attribute warnings. 2009-05-29 16:12:02 -07:00
math-emu sparc64: unify math-emu 2008-12-04 09:16:56 -08:00
mm arches: drop superfluous casts in nr_free_pages() callers 2009-09-22 07:17:34 -07:00
oprofile sparc64: Kill unnecessary cast in profile_timer_exceptions_notify(). 2009-09-08 23:20:39 -07:00
prom sparc64: Fix bootup with mcount in some configs. 2009-09-04 03:39:45 -07:00
Kconfig sparc64: implement page mapping percpu first chunk allocator 2009-09-29 09:17:57 +09:00
Kconfig.debug generic debug pagealloc: build fix 2009-04-02 19:04:48 -07:00
Makefile arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0 2009-09-20 12:28:22 +02:00