netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/4] mptcp: refactor token container
@ 2020-06-26 10:12 Paolo Abeni
  2020-06-26 10:12 ` [PATCH net-next 1/4] mptcp: add __init annotation on setup functions Paolo Abeni
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Paolo Abeni @ 2020-06-26 10:12 UTC (permalink / raw)
  To: netdev; +Cc: mptcp, David S. Miller, Eric Dumazet

Currently the msk sockets are stored in a single radix tree, protected by a
global spin_lock. This series moves to an hash table, allocated at boot time,
with per bucker spin_lock - alike inet_hashtables, but using a different key:
the token itself.

The above improves scalability, as write operations will have a far later chance
to compete for lock acquisition, allows lockless lookup, and will allow
easier msk traversing - e.g. for diag interface implementation's sake.

This also introduces trivial, related, kunit tests and move the existing in
kernel's one to kunit.

Paolo Abeni (4):
  mptcp: add __init annotation on setup functions
  mptcp: refactor token container
  mptcp: move crypto test to KUNIT
  mptcp: introduce token KUNIT self-tests

 net/mptcp/Kconfig       |  20 ++-
 net/mptcp/Makefile      |   4 +
 net/mptcp/crypto.c      |  63 +--------
 net/mptcp/crypto_test.c |  72 +++++++++++
 net/mptcp/pm.c          |   2 +-
 net/mptcp/pm_netlink.c  |   2 +-
 net/mptcp/protocol.c    |  49 ++++---
 net/mptcp/protocol.h    |  24 ++--
 net/mptcp/subflow.c     |  21 ++-
 net/mptcp/token.c       | 280 ++++++++++++++++++++++++++++------------
 net/mptcp/token_test.c  | 139 ++++++++++++++++++++
 11 files changed, 486 insertions(+), 190 deletions(-)
 create mode 100644 net/mptcp/crypto_test.c
 create mode 100644 net/mptcp/token_test.c

-- 
2.26.2


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

end of thread, other threads:[~2020-06-26 16:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-26 10:12 [PATCH net-next 0/4] mptcp: refactor token container Paolo Abeni
2020-06-26 10:12 ` [PATCH net-next 1/4] mptcp: add __init annotation on setup functions Paolo Abeni
2020-06-26 10:12 ` [PATCH net-next 2/4] mptcp: refactor token container Paolo Abeni
2020-06-26 10:12 ` [PATCH net-next 3/4] mptcp: move crypto test to KUNIT Paolo Abeni
2020-06-26 10:12 ` [PATCH net-next 4/4] mptcp: introduce token KUNIT self-tests Paolo Abeni
2020-06-26 16:02   ` Jakub Kicinski
2020-06-26 16:46     ` Paolo Abeni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).