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
1512 int cpu;1512 int cpu;
1513 1513
1514 for_each_possible_cpu(cpu)1514 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),
1516 vmstat_update);1516 vmstat_update);
1517 1517
1518 if (!alloc_cpumask_var(&cpu_stat_off, GFP_KERNEL))1518 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