1
linux/arch/ia64/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
..
cpufreq
.gitignore
acpi-ext.c
acpi-processor.c
acpi.c
asm-offsets.c
audit.c
brl_emu.c
crash_dump.c
crash.c [IA64] kdump: Short path to freeze CPUs 2009-09-14 16:19:24 -07:00
cyclone.c
dma-mapping.c [IA64] Fix warning in dma-mapping.c 2009-09-02 09:12:21 -07:00
efi_stub.S
efi.c
entry.h
entry.S net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
err_inject.c
esi_stub.S
esi.c
fsys.S
fsyscall_gtod_data.h
ftrace.c
gate-data.S
gate.lds.S
gate.S
head.S [IA64] implement ticket locks for Itanium 2009-09-25 08:42:16 -07:00
ia64_ksyms.c [IA64] implement ticket locks for Itanium 2009-09-25 08:42:16 -07:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
iosapic.c arch/ia64/kernel/iosapic: missing test after ioremap() 2009-08-11 14:52:11 -07:00
irq_ia64.c
irq_lsapic.c
irq.c
ivt.S
jprobes.S
kprobes.c
machine_kexec.c [IA64] kexec: Unregister MCA handler before kexec 2009-09-14 16:18:17 -07:00
machvec.c
Makefile
Makefile.gate kbuild: rename ld-option to cc-ldoption 2009-09-20 12:27:42 +02:00
mca_asm.S [IA64] kexec: Make INIT safe while transition to 2009-09-14 16:18:02 -07:00
mca_drv_asm.S
mca_drv.c
mca_drv.h
mca.c [IA64] kdump: Short path to freeze CPUs 2009-09-14 16:19:24 -07:00
minstate.h
module.c
msi_ia64.c
nr-irqs.c
numa.c
pal.S
palinfo.c
paravirt_inst.h
paravirt_patch.c
paravirt_patchlist.c
paravirt_patchlist.h
paravirt.c
paravirtentry.S
patch.c
pci-dma.c Bug Fix arch/ia64/kernel/pci-dma.c: fix recursive dma_supported() call in iommu_dma_supported() 2009-08-11 14:52:10 -07:00
pci-swiotlb.c ia64: IOMMU passthrough mode shouldn't trigger swiotlb init 2009-08-13 18:18:00 +01:00
perfmon_default_smpl.c
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon_montecito.h
perfmon.c [IA64] address compiler warnings perfmon.c/salinfo.c 2009-06-30 14:26:34 -07:00
process.c cleanup console_print() 2009-09-14 17:41:42 -07:00
ptrace.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
relocate_kernel.S [IA64] kdump: Mask INIT first in panic-kdump path 2009-09-14 16:18:54 -07:00
sal.c
salinfo.c [IA64] address compiler warnings perfmon.c/salinfo.c 2009-06-30 14:26:34 -07:00
setup.c ia64: Fix setup_per_cpu_areas() compilation error 2009-07-15 11:46:34 +09:00
sigframe.h
signal.c
smp.c ia64: convert last user of smp_call_function_mask 2009-09-24 09:34:40 +09:30
smpboot.c
sys_ia64.c
time.c
topology.c ia64/topology.c: exit cache_add_dev when kobject_init_and_add fails 2009-08-11 14:52:11 -07:00
traps.c
unaligned.c
uncached.c
unwind_decoder.c
unwind_i.h
unwind.c
vmlinux.lds.S Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2009-09-18 09:33:07 -07:00