]> git.baikalelectronics.ru Git - kernel.git/commit
dynticks: avoid flow_cache_flush() interrupting every core
authorChris Metcalf <cmetcalf@tilera.com>
Tue, 19 Mar 2013 11:35:58 +0000 (11:35 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 Mar 2013 17:28:39 +0000 (13:28 -0400)
commit3f408ef90bdcc29a72928044b68e5cc31d0772cd
tree8046d7dbd13f091d31245806a2802a2f4808f4cf
parentf648e2bf9563069669b00b8d98296ff77e945169
dynticks: avoid flow_cache_flush() interrupting every core

Previously, if you did an "ifconfig down" or similar on one core, and
the kernel had CONFIG_XFRM enabled, every core would be interrupted to
check its percpu flow list for items that could be garbage collected.

With this change, we generate a mask of cores that actually have any
percpu items, and only interrupt those cores.  When we are trying to
isolate a set of cpus from interrupts, this is important to do.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/flow.c