linux/arch/ia64
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
..
configs sgi-gru: remove SGI_GRU as a valid config option for ia64 configs with SGI_UV 2009-04-02 19:05:07 -07:00
dig x86, ia64: convert to use generic dma_map_ops struct 2009-01-06 14:06:57 +01:00
hp Merge branch 'acpica' into release 2009-09-19 01:45:22 -04:00
ia32 const: mark struct vm_struct_operations 2009-09-27 11:39:25 -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
kvm KVM: Reduce runnability interface with arch support code 2009-09-10 08:33:13 +03:00
lib [IA64] fix csum_ipv6_magic() 2009-09-02 09:14:48 -07:00
mm kcore: use registerd physmem information 2009-09-23 07:39:41 -07:00
oprofile [IA64] implement ticket locks for Itanium 2009-09-25 08:42:16 -07:00
pci ia64/PCI: adjust section annotation for pcibios_setup() 2009-06-30 16:26:53 -07:00
scripts ia64/pv_ops/pvchecker: support mov = ar.itc paravirtualization 2009-03-26 10:50:09 -07:00
sn Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2009-09-18 09:33:07 -07:00
uv [IA64] Simplify SGI uv vs. sn2 driver issues 2008-11-04 11:29:39 -08:00
xen rcu: Simplify rcu_pending()/rcu_check_callbacks() API 2009-08-23 10:32:39 +02:00
install.sh kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00
Kconfig [IA64] implement ticket locks for Itanium 2009-09-25 08:42:16 -07:00
Kconfig.debug
Makefile arch/ia64/Makefile: Remove -mtune=merced in IA64 kernel build 2009-08-11 14:52:11 -07:00
module.lds