All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 net-next 00/11] net: various udp/tcp changes
@ 2016-04-01 15:52 Eric Dumazet
  2016-04-01 15:52 ` [PATCH v2 net-next 01/11] net: add SOCK_RCU_FREE socket flag Eric Dumazet
                   ` (11 more replies)
  0 siblings, 12 replies; 16+ messages in thread
From: Eric Dumazet @ 2016-04-01 15:52 UTC (permalink / raw)
  To: David S . Miller
  Cc: netdev, Eric Dumazet, Eric Dumazet, Tom Herbert,
	Willem de Bruijn, Neal Cardwell, Maciej Żenczykowski

First round of patches for linux-4.7

Add a generic facility for sockets to be freed after an RCU grace
period, if they need to.

Then UDP stack is changed to no longer use SLAB_DESTROY_BY_RCU,
in order to speedup rx processing for traffic encapsulated in UDP.
It gives a 17 % speedup for normal UDP reception in stress conditions.

Then TCP listeners are changed to use SOCK_RCU_FREE as well
to avoid touching sk_refcnt in synflood case :
I got up to 30 % performance increase for a mono listener.

Then three patches add SK_MEMINFO_DROPS to sock_diag
and add per socket rx drops accounting to TCP.

Last patch adds rate limiting on ACK sent on behalf of SYN_RECV
to better resist to SYNFLOOD targeting one or few flows.


Eric Dumazet (11):
  net: add SOCK_RCU_FREE socket flag
  udp: no longer use SLAB_DESTROY_BY_RCU
  tcp/dccp: remove BH disable/enable in lookup
  tcp/dccp: use rcu locking in inet_diag_find_one_icsk()
  inet: reqsk_alloc() needs to take care of dead listeners
  tcp/dccp: do not touch listener sk_refcnt under synflood
  sock_diag: add SK_MEMINFO_DROPS
  tcp: increment sk_drops for dropped rx packets
  tcp: increment sk_drops for listeners
  ipv4: tcp: set SOCK_USE_WRITE_QUEUE for ip_send_unicast_reply()
  tcp: rate limit ACK sent by SYN_RECV request sockets

 include/linux/udp.h            |   8 +-
 include/net/inet6_hashtables.h |  12 +-
 include/net/inet_hashtables.h  |  47 +++----
 include/net/request_sock.h     |  31 +++--
 include/net/sock.h             |  21 ++-
 include/net/tcp.h              |  13 ++
 include/net/udp.h              |   2 +-
 include/uapi/linux/sock_diag.h |   1 +
 net/core/sock.c                |  15 ++-
 net/core/sock_diag.c           |   1 +
 net/dccp/ipv4.c                |   7 +-
 net/dccp/ipv6.c                |   7 +-
 net/ipv4/inet_diag.c           |  10 +-
 net/ipv4/inet_hashtables.c     |  77 ++++-------
 net/ipv4/tcp_input.c           |  41 +++---
 net/ipv4/tcp_ipv4.c            |  74 ++++++-----
 net/ipv4/tcp_minisocks.c       |   5 +-
 net/ipv4/udp.c                 | 293 ++++++++++++-----------------------------
 net/ipv4/udp_diag.c            |  18 +--
 net/ipv6/inet6_hashtables.c    |  62 +++------
 net/ipv6/tcp_ipv6.c            |  32 +++--
 net/ipv6/udp.c                 | 196 +++++++++------------------
 net/netfilter/xt_socket.c      |   6 +-
 23 files changed, 401 insertions(+), 578 deletions(-)

-- 
2.8.0.rc3.226.g39d4020

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-04-05  2:13 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-01 15:52 [PATCH v2 net-next 00/11] net: various udp/tcp changes Eric Dumazet
2016-04-01 15:52 ` [PATCH v2 net-next 01/11] net: add SOCK_RCU_FREE socket flag Eric Dumazet
2016-04-02 16:35   ` Tom Herbert
2016-04-01 15:52 ` [PATCH v2 net-next 02/11] udp: no longer use SLAB_DESTROY_BY_RCU Eric Dumazet
2016-04-02 16:34   ` Tom Herbert
2016-04-01 15:52 ` [PATCH v2 net-next 03/11] tcp/dccp: remove BH disable/enable in lookup Eric Dumazet
2016-04-01 15:52 ` [PATCH v2 net-next 04/11] tcp/dccp: use rcu locking in inet_diag_find_one_icsk() Eric Dumazet
2016-04-01 15:52 ` [PATCH v2 net-next 05/11] inet: reqsk_alloc() needs to take care of dead listeners Eric Dumazet
2016-04-01 15:52 ` [PATCH v2 net-next 06/11] tcp/dccp: do not touch listener sk_refcnt under synflood Eric Dumazet
2016-04-01 15:52 ` [PATCH v2 net-next 07/11] sock_diag: add SK_MEMINFO_DROPS Eric Dumazet
2016-04-01 15:52 ` [PATCH v2 net-next 08/11] tcp: increment sk_drops for dropped rx packets Eric Dumazet
2016-04-01 15:52 ` [PATCH v2 net-next 09/11] tcp: increment sk_drops for listeners Eric Dumazet
2016-04-01 15:52 ` [PATCH v2 net-next 10/11] ipv4: tcp: set SOCK_USE_WRITE_QUEUE for ip_send_unicast_reply() Eric Dumazet
2016-04-01 15:52 ` [PATCH v2 net-next 11/11] tcp: rate limit ACK sent by SYN_RECV request sockets Eric Dumazet
2016-04-01 16:05   ` Neal Cardwell
2016-04-05  2:12 ` [PATCH v2 net-next 00/11] net: various udp/tcp changes David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.