Le lundi 08 février 2010 à 15:50 -0800, Stephen Hemminger a écrit :
Who knows, it probably depends on many factors. I always run with cache
enabled, because it saves cycles on moderate load.
FIB_TRIE is unrelated here, if routing table is very small, it fits HASH
or TRIE.
Pawel hit the bug with tunables that basically enabled the cache but in
a non helpful way (filling the list of busy dst). User error combined
with a lazy kernel function :)
Please note that conversion from softirq to workqueue, without
scheduling point, might/probably use same cpu for handling network irqs
and running dst_gc_task() :
On big routers, admins usually use irq affinities, so we can have very
litle cpu time available to run other tasks on those cpus.
After this patch, I believe that scheduler is allowed to migrate
dst_gc_task() to an idle cpu.
Another point (for 2.6.34) to address is the dst_gc_mutex that can delay
NETDEV_UNREGISTER/NETDEV_DOWN events for a long period.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html