summaryrefslogtreecommitdiffstats
path: root/net/mptcp/Makefile
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2020-06-26 19:30:00 +0200
committerDavid S. Miller <davem@davemloft.net>2020-06-26 16:21:39 -0700
commit2c5ebd001d4f0c64a2dfda94eb1d9b31a8863c8d (patch)
treea9da12e3766a23f235056ea6d76190189aa21b18 /net/mptcp/Makefile
parentd39dceca388ad0e4f748836806349ebe09282283 (diff)
downloadlinux-2c5ebd001d4f0c64a2dfda94eb1d9b31a8863c8d.tar.bz2
mptcp: refactor token container
Replace the radix tree with a hash table allocated at boot time. The radix tree has some shortcoming: a single lock is contented by all the mptcp operation, the lookup currently use such lock, and traversing all the items would require a lock, too. With hash table instead we trade a little memory to address all the above - a per bucket lock is used. To hash the MPTCP sockets, we re-use the msk' sk_node entry: the MPTCP sockets are never hashed by the stack. Replace the existing hash proto callbacks with a dummy implementation, annotating the above constraint. Additionally refactor the token creation to code to: - limit the number of consecutive attempts to a fixed maximum. Hitting a hash bucket with a long chain is considered a failed attempt - accept() no longer can fail to token management. - if token creation fails at connect() time, we do fallback to TCP (before the connection was closed) v1 -> v2: - fix "no newline at end of file" - Jakub Signed-off-by: Paolo Abeni <pabeni@redhat.com> Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mptcp/Makefile')
0 files changed, 0 insertions, 0 deletions