From: Eric Dumazet Date: Tue, 20 Nov 2007 06:43:37 +0000 (-0800) Subject: [PATCH] IPV4 : Move ip route cache flush (secret_rebuild) from softirq to workqueue X-Git-Tag: v2.6.25-rc1~1162^2~1381 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=beb659bd8c9f2ccc8195779383f71088f936bf6e;p=pandora-kernel.git [PATCH] IPV4 : Move ip route cache flush (secret_rebuild) from softirq to workqueue Every 600 seconds (ip_rt_secret_interval), a softirq flush of the whole ip route cache is triggered. On loaded machines, this can starve softirq for many seconds and can eventually crash. This patch moves this flush to a workqueue context, using the worker we intoduced in commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b (IPV4: Convert rt_check_expire() from softirq processing to workqueue.) Also, immediate flushes (echo 0 >/proc/sys/net/ipv4/route/flush) are using rt_do_flush() helper function, wich take attention to rescheduling. Next step will be to handle delayed flushes ("echo -1 >/proc/sys/net/ipv4/route/flush" or "ip route flush cache") Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller --- Reading git-diff-tree failed