summaryrefslogtreecommitdiffstats
path: root/kernel/softirq.c
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2010-04-07 00:30:05 +0000
committerDavid S. Miller <davem@davemloft.net>2010-04-07 03:43:19 -0700
commit80c802f3073e84c956846e921e8a0b02dfa3755f (patch)
tree895dc92dcf6b658d78838e0a23db3dd29c8be695 /kernel/softirq.c
parentfe1a5f031e76bd8761a7803d75b95ee96e84a574 (diff)
downloadblackbird-op-linux-80c802f3073e84c956846e921e8a0b02dfa3755f.tar.gz
blackbird-op-linux-80c802f3073e84c956846e921e8a0b02dfa3755f.zip
xfrm: cache bundles instead of policies for outgoing flows
__xfrm_lookup() is called for each packet transmitted out of system. The xfrm_find_bundle() does a linear search which can kill system performance depending on how many bundles are required per policy. This modifies __xfrm_lookup() to store bundles directly in the flow cache. If we did not get a hit, we just create a new bundle instead of doing slow search. This means that we can now get multiple xfrm_dst's for same flow (on per-cpu basis). Signed-off-by: Timo Teras <timo.teras@iki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel/softirq.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud