linux/arch/microblaze
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 microblaze: Support simpleImage.dts make target 2009-09-24 10:28:22 +02:00
configs microblaze: Disable heartbeat/enable emaclite in defconfigs 2009-09-24 10:30:27 +02:00
include/asm Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze 2009-09-24 09:01:44 -07:00
kernel net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
lib microblaze: use the generic lib/checksum.c 2009-07-06 10:26:52 +02:00
mm Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze 2009-09-24 09:01:44 -07:00
platform microblaze_v8: Makefiles for Microblaze cpu 2009-03-27 14:25:51 +01:00
Kconfig microblaze: Add architectural support for USB EHCI host controllers 2009-09-22 08:50:14 +02:00
Kconfig.debug microblaze_v8: Kconfig patches 2009-03-27 14:25:50 +01:00
Makefile microblaze: Support simpleImage.dts make target 2009-09-24 10:28:22 +02:00