The net flow hash randomization timer runs every 10 minutes.
This time is low priority and doesn't need to wakeup the CPU.
Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>
--- a/net/core/flow.c 2007-12-18 07:43:31.000000000 -0800
+++ b/net/core/flow.c 2007-12-18 07:44:32.000000000 -0800
@@ -81,8 +81,8 @@ static void flow_cache_new_hashrnd(unsig
for_each_possible_cpu(i)
flow_hash_rnd_recalc(i) = 1;
- flow_hash_rnd_timer.expires = jiffies + FLOW_HASH_RND_PERIOD;
- add_timer(&flow_hash_rnd_timer);
+ mod_timer(&flow_hash_rnd_timer,
+ round_jiffies(jiffies + FLOW_HASH_RND_PERIOD));
}
static void flow_entry_kill(int cpu, struct flow_cache_entry *fle)
@@ -352,7 +352,7 @@ static int __init flow_cache_init(void)
flow_lwm = 2 * flow_hash_size;
flow_hwm = 4 * flow_hash_size;
- init_timer(&flow_hash_rnd_timer);
+ init_timer_deferrable(&flow_hash_rnd_timer);
flow_hash_rnd_timer.function = flow_cache_new_hashrnd;
flow_hash_rnd_timer.expires = jiffies + FLOW_HASH_RND_PERIOD;
add_timer(&flow_hash_rnd_timer);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html