linux-stable/arch/x86/ia32
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
..
audit.c x86: coding style fixes in arch/x86/ia32/audit.c 2008-01-30 13:32:54 +01:00
ia32_aout.c CRED: Make execve() take advantage of copy-on-write credentials 2008-11-14 10:39:24 +11:00
ia32_signal.c x86: ia32_signal: introduce {get|set}_user_seg() 2009-02-22 17:54:47 +01:00
ia32entry.S net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
ipc32.c x86: introducing asm/sys_ia32.h 2008-12-29 13:18:40 +01:00
Makefile x86: compat_binfmt_elf 2008-01-30 13:31:55 +01:00
sys_ia32.c x86, 32-bit: Use generic sys_pipe() 2009-08-08 18:20:52 +02:00