Commit 2b284214 authored by Arjan van de Ven's avatar Arjan van de Ven Committed by Linus Torvalds

[PATCH] user of the jiffies rounding patch: Slab

This patch introduces users of the round_jiffies() function in the slab code.

The slab code has a few "run every second" timers for background work; these
are obviously not timing critical as long as they happen roughly at the right
frequency.
Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 44d306e1
...@@ -946,7 +946,8 @@ static void __devinit start_cpu_timer(int cpu) ...@@ -946,7 +946,8 @@ static void __devinit start_cpu_timer(int cpu)
if (keventd_up() && reap_work->work.func == NULL) { if (keventd_up() && reap_work->work.func == NULL) {
init_reap_node(cpu); init_reap_node(cpu);
INIT_DELAYED_WORK(reap_work, cache_reap); INIT_DELAYED_WORK(reap_work, cache_reap);
schedule_delayed_work_on(cpu, reap_work, HZ + 3 * cpu); schedule_delayed_work_on(cpu, reap_work,
__round_jiffies_relative(HZ, cpu));
} }
} }
...@@ -4006,7 +4007,7 @@ static void cache_reap(struct work_struct *unused) ...@@ -4006,7 +4007,7 @@ static void cache_reap(struct work_struct *unused)
if (!mutex_trylock(&cache_chain_mutex)) { if (!mutex_trylock(&cache_chain_mutex)) {
/* Give up. Setup the next iteration. */ /* Give up. Setup the next iteration. */
schedule_delayed_work(&__get_cpu_var(reap_work), schedule_delayed_work(&__get_cpu_var(reap_work),
REAPTIMEOUT_CPUC); round_jiffies_relative(REAPTIMEOUT_CPUC));
return; return;
} }
...@@ -4052,7 +4053,8 @@ static void cache_reap(struct work_struct *unused) ...@@ -4052,7 +4053,8 @@ static void cache_reap(struct work_struct *unused)
next_reap_node(); next_reap_node();
refresh_cpu_vm_stats(smp_processor_id()); refresh_cpu_vm_stats(smp_processor_id());
/* Set up the next iteration */ /* Set up the next iteration */
schedule_delayed_work(&__get_cpu_var(reap_work), REAPTIMEOUT_CPUC); schedule_delayed_work(&__get_cpu_var(reap_work),
round_jiffies_relative(REAPTIMEOUT_CPUC));
} }
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment