From 6c383b3a565dbf07cf6665e5da535f8668479453 Mon Sep 17 00:00:00 2001 From: Marcelo Ricardo Leitner Date: Thu, 14 Aug 2014 16:44:52 -0300 Subject: [PATCH] ipv4: move route garbage collector to work queue Currently the route garbage collector gets called by dst_alloc() if it have more entries than the threshold. But it's an expensive call, that don't really need to be done by then. Another issue with current way is that it allows running the garbage collector with the same start parameters on multiple CPUs at once, which is not optimal. A system may even soft lockup if the cache is big enough as the garbage collectors will be fighting over the hash lock entries. This patch thus moves the garbage collector to run asynchronously on a work queue, much similar to how rt_expire_check runs. There is one condition left that allows multiple executions, which is handled by the next patch. Signed-off-by: Marcelo Ricardo Leitner Acked-by: Hannes Frederic Sowa Signed-off-by: Ben Hutchings --- Reading git-format-patch failed