kernel_optimize_test/arch/mips/kernel
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
..
.gitignore
8250-platform.c
asm-offsets.c
binfmt_elfn32.c
binfmt_elfo32.c
branch.c
cevt-bcm1480.c
cevt-ds1287.c
cevt-gt641xx.c
cevt-r4k.c
cevt-sb1250.c
cevt-smtc.c
cevt-txx9.c
cpu-bugs64.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
cpu-probe.c MIPS: BCM63xx: Add Broadcom 63xx CPU definitions. 2009-09-17 20:07:52 +02:00
csrc-bcm1480.c
csrc-ioasic.c
csrc-r4k.c
csrc-sb1250.c
early_printk.c
entry.S
genex.S
gpio_txx9.c
head.S
i8253.c
i8259.c
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
irq_cpu.c
irq_txx9.c
irq-gic.c
irq-gt641xx.c
irq-msc01.c
irq-rm7000.c
irq-rm9000.c
irq.c
kgdb.c
kspd.c MIPS: VPE: Fix build after the credential changes a while ago. 2009-09-30 21:47:02 +02:00
linux32.c
machine_kexec.c
Makefile mips: fix build of vmlinux.lds 2009-09-25 19:49:27 +02:00
mips_ksyms.c
mips-mt-fpaff.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
mips-mt.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
module.c
octeon_switch.S
proc.c
process.c
ptrace32.c
ptrace.c
r4k_fpu.S
r4k_switch.S
r2300_fpu.S
r2300_switch.S
r6000_fpu.S
relocate_kernel.S
reset.c
rtlx.c MIPS: VPE: Get rid of BKL. 2009-09-30 21:47:02 +02:00
scall32-o32.S net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
scall64-64.S net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
scall64-n32.S net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
scall64-o32.S net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
setup.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
signal32.c
signal_n32.c
signal-common.h
signal.c
smp-cmp.c cpumask: Use accessors for cpu_*_mask: mips 2009-09-24 09:34:48 +09:30
smp-mt.c cpumask: Use accessors for cpu_*_mask: mips 2009-09-24 09:34:48 +09:30
smp-up.c cpumask: arch_send_call_function_ipi_mask: mips 2009-09-24 09:34:45 +09:30
smp.c MIPS: SMP: Inline arch_send_call_function_{single_ipi,ipi_mask} 2009-09-30 21:47:00 +02:00
smtc-asm.S
smtc-proc.c
smtc.c MIPS: SMTC: Remove duplicate structure field initialization 2009-09-30 21:46:59 +02:00
spram.c
stacktrace.c
sync-r4k.c
syscall.c MIPS: Rewrite sysmips(MIPS_ATOMIC_SET, ...) in C with inline assembler 2009-09-17 20:07:49 +02:00
time.c
topology.c
traps.c MIPS: Rewrite sysmips(MIPS_ATOMIC_SET, ...) in C with inline assembler 2009-09-17 20:07:49 +02:00
unaligned.c
vmlinux.lds.S mips: fix build of vmlinux.lds 2009-09-25 19:49:27 +02:00
vpe.c MIPS: VPE: Get rid of BKL. 2009-09-30 21:47:02 +02:00
watch.c