aha/arch/sh/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
..
cpu sh: Add support DMA Engine to SH7780 2009-09-25 12:19:33 +09:00
vsyscall kbuild: rename ld-option to cc-ldoption 2009-09-20 12:27:42 +02:00
.gitignore sh: Add an arch/sh/kernel/.gitignore 2008-07-29 08:29:32 +09:00
asm-offsets.c sh: Provide diagnostic kernel stack checks 2009-07-11 10:07:58 +09:00
cpufreq.c sh: cpufreq: Include CPU id in info messages. 2009-09-15 09:26:04 +09:00
crash_dump.c kdump: make elfcorehdr_addr independent of CONFIG_PROC_VMCORE 2008-10-20 08:52:39 -07:00
debugtraps.S sh: unwinder: Use a special bug flag for unwinder traps. 2009-08-22 05:28:25 +09:00
disassemble.c sh: Add a simple code dumper for SUPERH32 show_regs(). 2008-12-22 18:43:49 +09:00
dumpstack.c sh: flag the default unwinder as reliable. 2009-08-15 01:09:03 +09:00
dwarf.c sh: includecheck fix: dwarf.c 2009-09-24 16:21:50 +09:00
early_printk.c sh: Fix up early printk build error. 2009-08-04 15:54:33 +09:00
entry-common.S sh: Remove implicit sign extension from assembler immediates 2009-08-24 17:09:53 +09:00
ftrace.c sh: Move the FTRACE_SYSCALL_MAX definition in to asm/ftrace.h. 2009-08-24 22:48:27 +09:00
gpio.c sh: use gpiolib 2009-01-27 14:49:10 +09:00
head_32.S sh: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
head_64.S sh: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
idle.c sh: Provide cpu_idle_wait() to fix up cpuidle/SMP build. 2009-06-23 17:30:17 +09:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
io.c sh: Optimise memcpy_to/fromio for SH4 2009-08-24 17:35:07 +09:00
io_generic.c sh: generic_in/outs{bwl} optimizations. 2009-08-24 17:26:39 +09:00
io_trapped.c sh: Only shout about fixing up unexpected unaligned accesses 2009-08-29 20:31:44 +09:00
irq.c Use macros for .bss.page_aligned section. 2009-09-21 06:27:08 +02:00
kgdb.c sh: Kill off kgdb's magical NMI debouncing. 2009-09-01 17:45:35 +09:00
kprobes.c sh: kprobes: kretprobe_trampoline needs to be global. 2008-09-09 08:13:28 +09:00
localtimer.c sh: Fix up clockevents broadcasting. 2009-08-19 18:00:03 +09:00
machine_kexec.c sh: disallow kexec virtual entry 2009-03-20 18:56:04 +09:00
machvec.c sh: boot word / mode pin support V2 2009-06-01 15:44:49 +09:00
Makefile sh: nmi_debug support. 2009-09-01 17:38:32 +09:00
module.c module: cleanup FIXME comments about trimming exception table entries. 2009-06-12 21:47:05 +09:30
nmi_debug.c sh: nmi_debug support. 2009-09-01 17:38:32 +09:00
process_32.c sh: Use internal watchdog timer to perform reset 2009-08-24 16:20:44 +09:00
process_64.c sh: Tidy up NEFF-based sign extension for SH-5. 2009-08-04 17:14:39 +09:00
ptrace_32.c sh: Wire up HAVE_SYSCALL_TRACEPOINTS. 2009-09-16 14:30:34 +09:00
ptrace_64.c sh: Wire up HAVE_SYSCALL_TRACEPOINTS. 2009-09-16 14:30:34 +09:00
relocate_kernel.S sh: add kexec jump support 2009-03-18 18:57:43 +09:00
setup.c Merge branch 'master' into sh/smp 2009-09-01 13:54:14 +09:00
sh_bios.c sh: Kill off sh_bios_in_gdb_mode(). 2008-12-22 18:44:44 +09:00
sh_ksyms_32.c sh: wire up clear_user_highpage() for sh4, convert sh7705. 2009-07-27 20:53:22 +09:00
sh_ksyms_64.c sh: Fix up the SH-5 build with caches enabled. 2009-08-16 01:50:17 +09:00
signal_32.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-09-16 13:48:32 +09:00
signal_64.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-09-16 13:48:32 +09:00
smp.c cpumask: Use accessors for cpu_*_mask: sh 2009-06-14 18:24:16 +09:00
stacktrace.c sh: stacktrace: Properly terminate the trace entry buffer. 2009-08-15 01:11:37 +09:00
swsusp.c sh: hibernation support 2009-03-10 12:55:40 +09:00
sys_sh.c sh: fix sys_cacheflush error checking 2009-08-24 18:59:09 +09:00
sys_sh32.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
sys_sh64.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
syscalls_32.S perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
syscalls_64.S net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
time.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-09-18 09:43:09 -07:00
topology.c sh: replace remaining __FUNCTION__ occurrences 2008-03-06 11:18:22 +09:00
traps.c sh: nmi_debug support. 2009-09-01 17:38:32 +09:00
traps_32.c sh: Fix up uninitialized variable use caught by gcc 4.4. 2009-09-24 17:48:15 +09:00
traps_64.c sh: Always fixup unaligned userspace accesses on sh64. 2009-05-08 20:32:56 +09:00
unwinder.c sh: unwinder: Use a special bug flag for unwinder traps. 2009-08-22 05:28:25 +09:00
vmlinux.lds.S Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-09-16 13:48:32 +09:00