Files
kernel/include/linux
Paolo Abeni 2276f58ac5 udp: use a separate rx queue for packet reception
under udp flood the sk_receive_queue spinlock is heavily contended.
This patch try to reduce the contention on such lock adding a
second receive queue to the udp sockets; recvmsg() looks first
in such queue and, only if empty, tries to fetch the data from
sk_receive_queue. The latter is spliced into the newly added
queue every time the receive path has to acquire the
sk_receive_queue lock.

The accounting of forward allocated memory is still protected with
the sk_receive_queue lock, so udp_rmem_release() needs to acquire
both locks when the forward deficit is flushed.

On specific scenarios we can end up acquiring and releasing the
sk_receive_queue lock multiple times; that will be covered by
the next patch

Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-16 15:41:29 -04:00
..
2017-05-04 09:19:24 +02:00
2017-04-21 10:45:01 -04:00
2017-04-28 18:09:59 -04:00
2017-05-01 14:09:21 -07:00
2017-04-11 14:38:43 -04:00
2017-04-26 23:54:06 -04:00
2017-03-30 09:37:20 +02:00
2017-04-18 20:41:12 +02:00
2017-04-10 17:15:02 +02:00
2017-04-27 05:13:04 -04:00
2017-05-12 15:57:15 -07:00
2017-05-03 15:52:10 -07:00
2017-04-05 18:11:48 +02:00
2017-05-08 17:15:12 -07:00
2017-04-04 14:10:12 -07:00
2017-05-03 15:52:10 -07:00
2017-04-24 14:30:46 -04:00
2017-04-26 13:03:04 -04:00
2017-05-09 16:43:23 +03:00
2017-04-19 14:21:23 +02:00
2017-03-28 08:54:48 +02:00
2017-05-03 15:52:10 -07:00
2017-05-08 17:15:12 -07:00
2017-03-26 15:09:45 +02:00
2017-05-09 16:43:22 +03:00