linux-pinenote/arch/mips/include/uapi/asm
Eric Dumazet 2c8c56e15d net: introduce SO_INCOMING_CPU
Alternative to RPS/RFS is to use hardware support for multiple
queues.

Then split a set of million of sockets into worker threads, each
one using epoll() to manage events on its own socket pool.

Ideally, we want one thread per RX/TX queue/cpu, but we have no way to
know after accept() or connect() on which queue/cpu a socket is managed.

We normally use one cpu per RX queue (IRQ smp_affinity being properly
set), so remembering on socket structure which cpu delivered last packet
is enough to solve the problem.

After accept(), connect(), or even file descriptor passing around
processes, applications can use :

 int cpu;
 socklen_t len = sizeof(cpu);

 getsockopt(fd, SOL_SOCKET, SO_INCOMING_CPU, &cpu, &len);

And use this information to put the socket into the right silo
for optimal performance, as all networking stack should run
on the appropriate cpu, without need to send IPI (RPS/RFS).

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-11 13:00:06 -05:00
..
bitfield.h MIPS: Move definition of __BITFIELD_FIELD to sharable header. 2014-05-21 11:12:45 +02:00
bitsperlong.h
break.h MIPS: Quit exporting kernel internel break codes to uapi/asm/break.h 2013-02-20 18:24:24 +01:00
byteorder.h
cachectl.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
errno.h errno.h: remove "NFS" from descriptions in comments 2013-11-13 12:09:12 +09:00
fcntl.h Merge branch '3.10-fixes' into mips-for-linux-next 2013-07-12 18:11:43 +02:00
inst.h MIPS: uasm: Add SLT uasm instruction 2014-06-26 10:48:19 +01:00
ioctl.h
ioctls.h mips/uapi: Add definition of TIOC[SG]RS485 2014-09-10 09:28:13 -07:00
Kbuild MIPS: Move definition of __BITFIELD_FIELD to sharable header. 2014-05-21 11:12:45 +02:00
kvm.h MIPS: KVM: Add count frequency KVM register 2014-05-30 13:02:54 +02:00
kvm_para.h MIPS: Add functions for hypervisor call 2014-05-30 21:01:11 +02:00
mman.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
msgbuf.h MIPS: <uapi/asm/msgbuf.h>: Don't reference CONFIG_* symbols. 2013-06-18 16:28:16 +02:00
param.h
poll.h
posix_types.h
ptrace.h MIPS: ptrace.h: Add a missing include 2014-10-23 13:23:08 +02:00
reg.h MIPS: asm/reg.h: Move to uapi 2014-08-02 00:06:38 +02:00
resource.h MIPS: <uapi/asm/resource.h: Don't reference CONFIG_* symbols. 2013-06-18 16:28:15 +02:00
sembuf.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
setup.h
sgidefs.h
shmbuf.h
sigcontext.h Revert "MIPS: Save/restore MSA context around signals" 2014-06-26 10:48:18 +01:00
siginfo.h MIPS: Enable entries for SIGSYS in struct siginfo. 2013-10-29 21:24:57 +01:00
signal.h MIPS: Delete definition of SA_RESTORER. 2013-04-05 15:10:51 +02:00
socket.h net: introduce SO_INCOMING_CPU 2014-11-11 13:00:06 -05:00
sockios.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
stat.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
statfs.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
swab.h MIPS: Use WSBH/DSBH/DSHD on Loongson 3A 2014-09-22 13:35:46 +02:00
sysmips.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
termbits.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
termios.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
types.h MIPS: Add __SANE_USERSPACE_TYPES__ to asm/types.h for LL64 2014-05-28 10:51:13 +02:00
unistd.h MIPS: Wire up new syscalls getrandom and memfd_create. 2014-08-26 03:03:40 +02:00