a2e2725541
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> |
||
---|---|---|
.. | ||
.gitignore | ||
asm-offsets.c | ||
avr32_ksyms.c | ||
cpu.c | ||
entry-avr32b.S | ||
head.S | ||
init_task.c | ||
irq.c | ||
kprobes.c | ||
Makefile | ||
module.c | ||
nmi_debug.c | ||
ocd.c | ||
process.c | ||
ptrace.c | ||
setup.c | ||
signal.c | ||
stacktrace.c | ||
switch_to.S | ||
sys_avr32.c | ||
syscall_table.S | ||
syscall-stubs.S | ||
time.c | ||
traps.c | ||
vmlinux.lds.S |