android_kernel_xiaomi_sm8350/arch/x86/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
..
acpi ACPI: fix Compaq Evo N800c (Pentium 4m) boot hang regression 2009-09-27 03:43:42 -04:00
apic sysctl: remove "struct file *" argument of ->proc_handler 2009-09-24 07:21:04 -07:00
cpu Revert "x86, mce: do not compile mcelog message on AMD" 2009-09-30 07:48:37 -07:00
.gitignore
alternative.c Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-14 07:57:32 -07:00
amd_iommu_init.c Merge branch 'amd-iommu/passthrough' into amd-iommu/2.6.32 2009-09-03 16:34:23 +02:00
amd_iommu.c Merge branch 'amd-iommu/pagetable' into amd-iommu/2.6.32 2009-09-03 17:14:57 +02:00
aperture_64.c kmemleak: Ignore the aperture memory hole on x86_64 2009-09-01 11:12:32 +01:00
apm_32.c Merge commit 'origin/x86/urgent' into x86/asm 2009-08-25 15:40:29 -07:00
asm-offsets_32.c
asm-offsets_64.c tracing: Define NR_syscalls for x86_64 2009-08-26 21:29:58 +02:00
asm-offsets.c
audit_64.c
bios_uv.c
bootflag.c
check.c
cpuid.c Driver-Core: extend devnode callbacks to provide permissions 2009-09-19 12:50:38 -07:00
crash_dump_32.c
crash_dump_64.c
crash.c
doublefault_32.c x86: Use get_desc_base() 2009-07-19 18:27:51 +02:00
ds_selftest.c
ds_selftest.h
ds.c
dumpstack_32.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
dumpstack_64.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
dumpstack.c x86: Remove duplicated #include 2009-07-11 10:17:08 +02:00
dumpstack.h
e820.c mm: don't use alloc_bootmem_low() where not strictly needed 2009-09-22 07:17:38 -07:00
early_printk.c x86: early_printk: Protect against using the same device twice 2009-09-24 13:01:13 +02:00
early-quirks.c
efi_32.c
efi_64.c x86: Make 64-bit efi_ioremap use ioremap on MMIO regions 2009-08-03 13:34:25 -07:00
efi_stub_32.S
efi_stub_64.S
efi.c x86: Move get/set_wallclock to x86_platform_ops 2009-09-16 14:34:50 +02:00
entry_32.S
entry_64.S x86: ptrace: sysret path should reach syscall_trace_leave 2009-09-22 20:33:42 -07:00
ftrace.c tracing: Convert event tracing code to use NR_syscalls 2009-08-26 21:30:02 +02:00
geode_32.c
head32.c x86: Add Moorestown early detection 2009-08-31 11:09:40 +02:00
head64.c x86: Add early platform detection 2009-08-31 11:09:40 +02:00
head_32.S Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-26 10:13:35 -07:00
head_64.S Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-26 10:13:35 -07:00
head.c
hpet.c
i386_ksyms_32.c x86: Provide an alternative() based cmpxchg64() 2009-09-30 22:55:59 +02:00
i387.c
i8237.c
i8253.c x86: Do not unregister PIT clocksource on PIT oneshot setup/shutdown 2009-08-21 21:13:37 +02:00
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
io_delay.c
ioport.c
irq_32.c x86: Use printk_once() 2009-08-09 22:28:34 +02:00
irq_64.c
irq.c x86: mce: Rename CONFIG_X86_NEW_MCE to CONFIG_X86_MCE 2009-07-09 18:39:47 -07:00
irqinit.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
k8.c
kdebugfs.c
kgdb.c
kprobes.c
kvm.c KVM guest: do not batch pte updates from interrupt context 2009-09-10 18:10:50 +03:00
kvmclock.c Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-18 14:05:47 -07:00
ldt.c cpumask: use mm_cpumask() wrapper: x86 2009-09-24 09:34:52 +09:30
machine_kexec_32.c
machine_kexec_64.c
Makefile Merge branch 'linus' into sfi-release 2009-09-19 00:11:26 -04:00
mca_32.c
mfgpt_32.c x86: geode: Mark mfgpt irq IRQF_TIMER to prevent resume failure 2009-07-24 08:42:52 +02:00
microcode_amd.c
microcode_core.c mm: replace various uses of num_physpages by totalram_pages 2009-09-22 07:17:38 -07:00
microcode_intel.c
mmconf-fam10h_64.c
module.c
mpparse.c Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-18 14:05:47 -07:00
mrst.c x86: Add Moorestown early detection 2009-08-31 11:09:40 +02:00
msr.c Driver-Core: extend devnode callbacks to provide permissions 2009-09-19 12:50:38 -07:00
olpc.c
paravirt_patch_32.c
paravirt_patch_64.c
paravirt-spinlocks.c
paravirt.c Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-18 14:05:47 -07:00
pci-calgary_64.c
pci-dma.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-09-16 07:49:54 -07:00
pci-gart_64.c x86: replace is_buffer_dma_capable() with dma_capable 2009-07-28 14:19:19 +09:00
pci-nommu.c dma-ops: Remove flush_write_buffers() in dma-mapping-common.h 2009-08-10 09:34:57 +02:00
pci-swiotlb.c Merge git://git.infradead.org/iommu-2.6 2009-09-23 10:06:10 -07:00
pcspeaker.c
pmtimer_64.c
probe_roms_32.c
process_32.c Merge branch 'x86-percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-14 08:01:28 -07:00
process_64.c Merge branch 'x86-percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-14 08:01:28 -07:00
process.c cpumask: use zalloc_cpumask_var() where possible 2009-09-24 09:34:24 +09:30
ptrace.c x86: ptrace: set TS_COMPAT when 32-bit ptrace sets orig_eax>=0 2009-09-22 22:49:24 -07:00
pvclock.c x86: Fix warning in pvclock.c 2009-07-14 16:25:05 +02:00
quirks.c x86/PCI: pci quirks, fix pci refcounting 2009-09-09 14:11:02 -07:00
reboot_fixups_32.c
reboot.c Merge commit 'v2.6.31-rc8' into x86/txt 2009-09-02 08:17:56 +02:00
relocate_kernel_32.S
relocate_kernel_64.S
rtc.c Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-18 14:05:47 -07:00
scx200_32.c
setup_percpu.c x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA 2009-08-14 15:00:52 +09:00
setup.c Merge branch 'sfi-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6 2009-09-23 09:34:07 -07:00
sfi.c SFI: remove unneeded includes 2009-09-15 15:08:40 -04:00
signal.c Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-17 21:07:08 -07:00
smp.c
smpboot.c cpumask: use zalloc_cpumask_var() where possible 2009-09-24 09:34:24 +09:30
stacktrace.c
step.c x86: Use get_desc_base() 2009-07-19 18:27:51 +02:00
sys_i386_32.c
sys_x86_64.c tracing: Convert x86_64 mmap and uname to use DEFINE_SYSCALL 2009-08-11 20:35:29 +02:00
syscall_64.c
syscall_table_32.S net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
tboot.c x86, intel_txt: clean up the impact on generic code, unbreak non-x86 2009-09-01 18:25:07 -07:00
tce_64.c
test_nx.c
test_rodata.c
time.c cpumask: remove last assignment to mask field of struct irqaction. 2009-09-24 09:34:37 +09:30
tlb_uv.c x86: uv: Clean up uv_ptc_init(), use proc_create() 2009-08-24 12:26:46 +02:00
tls.c
tls.h
topology.c
trampoline_32.S x86: cpuinit-annotate SMP boot trampolines properly 2009-09-20 20:23:37 +02:00
trampoline_64.S x86: cpuinit-annotate SMP boot trampolines properly 2009-09-20 20:23:37 +02:00
trampoline.c x86: cpuinit-annotate SMP boot trampolines properly 2009-09-20 20:23:37 +02:00
traps.c Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-26 10:13:35 -07:00
tsc_sync.c x86: Reduce verbosity of "TSC is reliable" message 2009-09-24 11:35:19 +02:00
tsc.c Merge branch 'linus' into x86/urgent 2009-09-20 20:25:03 +02:00
uv_irq.c
uv_sysfs.c
uv_time.c
verify_cpu_64.S
visws_quirks.c x86: Add timer_init to x86_init_ops 2009-08-31 09:35:46 +02:00
vm86_32.c
vmi_32.c x86: Move get/set_wallclock to x86_platform_ops 2009-09-16 14:34:50 +02:00
vmiclock_32.c x86: Move tsc_calibration to x86_init_ops 2009-08-31 09:35:47 +02:00
vmlinux.lds.S Merge branch 'x86/asm' into x86/urgent 2009-09-25 10:47:00 +02:00
vsmp_64.c
vsyscall_64.c sysctl: remove "struct file *" argument of ->proc_handler 2009-09-24 07:21:04 -07:00
x86_init.c x86: Move get/set_wallclock to x86_platform_ops 2009-09-16 14:34:50 +02:00
x8664_ksyms_64.c
xsave.c