- start_cpu_timer(cpu);
-}
-
-static void vmstat_update_monitor(struct work_struct *w)
-{
- int cpu;
-
- for_each_cpu_and(cpu, &vmstat_off_cpus, cpu_online_mask)
- if (need_vmstat(cpu))
- start_cpu_timer(cpu);
-
- queue_delayed_work(system_unbound_wq, &vmstat_monitor_work,
- round_jiffies_relative(sysctl_stat_interval));
-}
-
-
-static void vmstat_update(struct work_struct *w)
-{
- int cpu = smp_processor_id();
-
- if (likely(refresh_cpu_vm_stats(cpu)))
- schedule_delayed_work(&__get_cpu_var(vmstat_work),
- round_jiffies_relative(sysctl_stat_interval));
- else
- cpumask_set_cpu(cpu, &vmstat_off_cpus);
+ schedule_delayed_work_on(cpu, work, __round_jiffies_relative(HZ, cpu));