kernel_optimize_test/arch/mips
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
..
alchemy MIPS: Decrease size of au1xxx_dbdma_pm_regs[][] 2009-09-30 21:47:01 +02:00
ar7 MIPS: AR7: Make board code register ar7_wdt as a platform device 2009-09-17 20:07:48 +02:00
basler/excite MIPS: Excite: Get rid of BKL. 2009-09-30 21:47:01 +02:00
bcm47xx
bcm63xx MIPS: BCM63xx: Add PCMCIA & Cardbus support. 2009-09-30 21:47:01 +02:00
boot MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
cavium-octeon MIPS: Octeon: Move some platform device registration to its own file. 2009-09-17 20:07:52 +02:00
cobalt
configs MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs. 2009-09-17 20:07:52 +02:00
dec Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-18 09:15:24 -07:00
emma MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
fw MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
gt64120/wrppmc
include/asm net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
jazz
kernel net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
lasat sysctl: remove "struct file *" argument of ->proc_handler 2009-09-24 07:21:04 -07:00
lib
loongson loongson: fix cut-and-paste mis-merge 2009-09-20 15:57:28 -07:00
math-emu
mipssim cpumask: arch_send_call_function_ipi_mask: mips 2009-09-24 09:34:45 +09:30
mm MIPS: MIPSxx SC: Avoid destructive invalidation on partial L2 cachelines. 2009-09-30 21:47:00 +02:00
mti-malta cpumask: arch_send_call_function_ipi_mask: mips 2009-09-24 09:34:45 +09:30
nxp MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
oprofile MIPS: Loongson2: Fix typo "enalbe" -> "enable" 2009-09-30 21:46:59 +02:00
pci MIPS: MSP71xx: request_irq() failure ignored in msp_pcibios_config_access() 2009-09-30 21:47:01 +02:00
pmc-sierra cpumask: arch_send_call_function_ipi_mask: mips 2009-09-24 09:34:45 +09:30
power MIPS: Use PAGE_SIZE in assembly instead of _PAGE_SIZE. 2009-09-17 20:07:48 +02:00
rb532
sgi-ip22 MIPS: IP22, IP28: Build with -Werror 2009-09-17 20:07:44 +02:00
sgi-ip27 MIPS: SMP: Fix build. 2009-09-30 21:47:00 +02:00
sgi-ip32
sibyte MIPS: Sibyte: Get rid of BKL. 2009-09-30 21:47:01 +02:00
sni
txx9 MIPS: TXx9: Fix error handling. 2009-09-17 20:07:43 +02:00
vr41xx
Kconfig MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs. 2009-09-17 20:07:52 +02:00
Kconfig.debug
Makefile arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0 2009-09-20 12:28:22 +02:00