[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 --- commit ad610c01e537679b1529c6f6c026a95a4e694dd2 tree 9c9ccda8b8a55aa29ba632d8ca6e1de5964c4c65 parent aab2545fdd6641b76af0ae96456c4ca9d1e50dad author Jamal Hadi Salim Sat, 07 Jun 2008 09:19:09 -0400 committer Jamal Hadi Salim Sat, 07 Jun 2008 09:19:09 -0400 net/key/af_key.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/net/key/af_key.c b/net/key/af_key.c index 9bba7ac..7470e36 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c @@ -3030,6 +3030,9 @@ static int key_notify_sa_expire(struct xfrm_state *x, struct km_event *c) static int pfkey_send_notify(struct xfrm_state *x, struct km_event *c) { + if (atomic_read(&pfkey_socks_nr) == 0) + return 0; + switch (c->event) { case XFRM_MSG_EXPIRE: return key_notify_sa_expire(x, c);