linux/arch/blackfin
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 kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00
configs Blackfin: increase default async timings for parallel flashes 2009-09-16 22:10:42 -04:00
include/asm Blackfin: override text/data checking functions 2009-09-23 07:39:32 -07:00
kernel blackfin: Cleanup linker script using new linker script macros. 2009-09-24 17:16:22 -07:00
lib Blackfin: fix misnomer of some I-pipe helpers 2009-09-16 21:28:30 -04:00
mach-bf518 Blackfin: drop board resources for dead devices (pbx/ad9960) 2009-09-16 22:10:24 -04:00
mach-bf527 Blackfin: update cm board resources 2009-09-16 22:10:46 -04:00
mach-bf533 Blackfin: update cm board resources 2009-09-16 22:10:46 -04:00
mach-bf537 Blackfin: update cm board resources 2009-09-16 22:10:46 -04:00
mach-bf538 trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
mach-bf548 Blackfin: update cm board resources 2009-09-16 22:10:46 -04:00
mach-bf561 const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
mach-common net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
mm Blackfin: fix typo in isram_write() 2009-09-16 22:10:38 -04:00
oprofile Blackfin arch: remove hardware PM code, oprofile not use it 2009-01-07 23:14:39 +08:00
Kconfig Blackfin: swap clocksource ratings for gptimer/cycles 2009-09-16 22:10:48 -04:00
Kconfig.debug Blackfin: add some isram-driver self tests 2009-09-16 22:10:36 -04:00
Makefile kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00