1
linux/arch/xtensa/include/asm
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
..
asmmacro.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
atomic.h asm-generic: rename atomic.h to atomic-long.h 2009-06-11 21:02:17 +02:00
auxvec.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
bitops.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6 2009-01-07 11:56:29 -08:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bootparam.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
bug.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
bugs.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
byteorder.h byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
cache.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
cacheasm.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
cacheflush.h xtensa: cache inquiry and unaligned cache handling functions 2009-06-22 02:36:50 -07:00
checksum.h xtensa: Fix checksum header file 2009-05-11 21:48:23 -07:00
coprocessor.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
cpumask.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
cputime.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
current.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
delay.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
device.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
div64.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
dma-mapping.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
dma.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
elf.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
emergency-restart.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
errno.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
fb.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
fcntl.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
flat.h xtensa: add flat support 2009-04-02 23:41:29 -07:00
ftrace.h tracing: make CALLER_ADDRx overwriteable 2009-03-02 16:49:37 -05:00
futex.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
gpio.h xtensa: support s6000 gpio irqs and alternate function selection 2009-06-22 02:37:26 -07:00
hardirq.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
highmem.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
hw_irq.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
io.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
ioctl.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
ioctls.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
ipcbuf.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
irq_regs.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
irq.h xtensa: allow variant to initialize own irq chips 2009-06-22 02:36:59 -07:00
Kbuild byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
kdebug.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
linkage.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
local.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
mman.h mm: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions 2009-09-22 07:17:41 -07:00
mmu_context.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
mmu.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
module.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
msgbuf.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
mutex.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
nommu_context.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
nommu.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
page.h asm-generic: rename page.h and uaccess.h 2009-06-11 21:02:17 +02:00
param.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
pci-bridge.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
pci.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
percpu.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
pgalloc.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
pgtable.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
platform.h xtensa: remove platform rtc hooks 2009-04-02 23:45:07 -07:00
poll.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
posix_types.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
processor.h xtensa: nommu support 2009-04-02 23:41:50 -07:00
ptrace.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
regs.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
resource.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
rmap.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
rwsem.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
scatterlist.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
sections.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
segment.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
sembuf.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
serial.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
setup.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
shmbuf.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
shmparam.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
sigcontext.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
siginfo.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
signal.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
smp.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
socket.h net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
sockios.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
spinlock.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
stat.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
statfs.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
string.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
swab.h headers_check fix: xtensa, swab.h 2009-02-01 11:01:30 +05:30
syscall.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
system.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
termbits.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
termios.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
thread_info.h sched: INIT_PREEMPT_COUNT 2009-07-10 14:24:05 -07:00
timex.h xtensa: fix wrong extern declaration renamed in code using it 2009-05-11 22:00:11 -07:00
tlb.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
tlbflush.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
topology.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
types.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
uaccess.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
ucontext.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
unaligned.h xtensa: switch to packed struct unaligned access implementation 2008-11-11 06:14:10 -08:00
unistd.h net: Introduce recvmmsg socket syscall 2009-10-12 23:40:10 -07:00
user.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
vga.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00
xor.h xtensa: move headers files to arch/xtensa/include 2008-11-06 10:25:09 -08:00