History

vmstat: make vmstat_update deferrable

Commit 0eb77e988032 ("vmstat: make vmstat_updater deferrable again and shut down on idle") made vmstat_shepherd deferrable. vmstat_update itself is still useing standard timer which might interrupt idle task. This is possible because "mm, vmstat: make quiet_vmstat lighter" removed cancel_delayed_work from the quiet_vmstat. Change vmstat_work to use DEFERRABLE_WORK to prevent from pointless wakeups from the idle context.

Michal Hocko committed 10 years ago

Commit ccde8bd1 parent f01f17d1 file · +1 −1Browse files

Unified · Split

mm/vmstat.c+1−1
@@ -1512,7 +1512,7 @@ static void __init start_shepherd_timer(void) · 1511 unmodified lines
15121512 int cpu;
15131513
15141514 for_each_possible_cpu(cpu)
1515− INIT_DELAYED_WORK(per_cpu_ptr(&vmstat_work, cpu),
1515+ INIT_DEFERRABLE_WORK(per_cpu_ptr(&vmstat_work, cpu),
15161516 vmstat_update);
15171517
15181518 if (!alloc_cpumask_var(&cpu_stat_off, GFP_KERNEL))

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t