diff options
author | Eric Dumazet <edumazet@google.com> | 2025-03-02 12:42:34 +0000 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2025-03-04 17:46:26 -0800 |
commit | ae9d5b19b322d4b557efda684da2f4df21670ef8 (patch) | |
tree | e79540fcc50c21b6d6b9547ca2da86694719fcc1 /scripts/gdb/linux/lists.py | |
parent | 7ff1c88fc89688c27f773ba956f65f0c11367269 (diff) |
tcp: use RCU in __inet{6}_check_established()
When __inet_hash_connect() has to try many 4-tuples before
finding an available one, we see a high spinlock cost from
__inet_check_established() and/or __inet6_check_established().
This patch adds an RCU lookup to avoid the spinlock
acquisition when the 4-tuple is found in the hash table.
Note that there are still spin_lock_bh() calls in
__inet_hash_connect() to protect inet_bind_hashbucket,
this will be fixed later in this series.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Jason Xing <kerneljasonxing@gmail.com>
Tested-by: Jason Xing <kerneljasonxing@gmail.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20250302124237.3913746-2-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'scripts/gdb/linux/lists.py')
0 files changed, 0 insertions, 0 deletions