Commit 99c6f60e72f112b57ddb07abb2e5f771ee211f43
Committed by
David S. Miller
1 parent
bc6cffd177
Exists in
master
and in
20 other branches
ipsec: pfkey should ignore events when no listeners
When pfkey has no km listeners, it still does a lot of work before finding out there aint nobody out there. If a tree falls in a forest and no one is around to hear it, does it make a sound? In this case it makes a lot of noise: With this short-circuit adding 10s of thousands of SAs using netlink improves performance by ~10%. Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 3 additions and 0 deletions Side-by-side Diff
net/key/af_key.c
... | ... | @@ -3030,6 +3030,9 @@ |
3030 | 3030 | |
3031 | 3031 | static int pfkey_send_notify(struct xfrm_state *x, struct km_event *c) |
3032 | 3032 | { |
3033 | + if (atomic_read(&pfkey_socks_nr) == 0) | |
3034 | + return 0; | |
3035 | + | |
3033 | 3036 | switch (c->event) { |
3034 | 3037 | case XFRM_MSG_EXPIRE: |
3035 | 3038 | return key_notify_sa_expire(x, c); |