linux-stable/include/uapi
Paolo Abeni e20cf8d3f1 udp: implement GRO for plain UDP sockets.
This is the RX counterpart of commit bec1f6f697 ("udp: generate gso
with UDP_SEGMENT"). When UDP_GRO is enabled, such socket is also
eligible for GRO in the rx path: UDP segments directed to such socket
are assembled into a larger GSO_UDP_L4 packet.

The core UDP GRO support is enabled with setsockopt(UDP_GRO).

Initial benchmark numbers:

Before:
udp rx:   1079 MB/s   769065 calls/s

After:
udp rx:   1466 MB/s    24877 calls/s

This change introduces a side effect in respect to UDP tunnels:
after a UDP tunnel creation, now the kernel performs a lookup per ingress
UDP packet, while before such lookup happened only if the ingress packet
carried a valid internal header csum.

rfc v2 -> rfc v3:
 - fixed typos in macro name and comments
 - really enforce UDP_GRO_CNT_MAX, instead of UDP_GRO_CNT_MAX + 1
 - acquire socket lock in UDP_GRO setsockopt

rfc v1 -> rfc v2:
 - use a new option to enable UDP GRO
 - use static keys to protect the UDP GRO socket lookup

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-11-07 16:23:04 -08:00
..
asm-generic TTY/Serial patches for 4.20-rc1 2018-10-29 10:42:20 -07:00
drm Add out-bridge support 2018-10-04 10:40:54 +10:00
linux udp: implement GRO for plain UDP sockets. 2018-11-07 16:23:04 -08:00
misc ocxl: Add an IOCTL so userspace knows what OCXL features are available 2018-06-03 20:40:32 +10:00
mtd ubi: expose the volume CRC check skip flag 2018-08-15 00:25:21 +02:00
rdma IB/mlx5: Allow scatter to CQE without global signaled WRs 2018-10-17 11:25:41 -04:00
scsi scsi: ufs: fix integer type usage in uapi header 2018-10-15 22:44:30 -04:00
sound Merge branch 'for-linus' into for-next 2018-10-04 07:53:06 +02:00
video
xen xen/gntdev: Add initial support for dma-buf UAPI 2018-07-26 23:05:14 -04:00