vmstat: Add cpu isolation awareness
Ensure vmstat updates do not run on isolated cpus. Change-Id: Ie16cc9eb73b240459a9a385c39f3176b57d34950 Signed-off-by: Olav Haugan <ohaugan@codeaurora.org> [rameezmustafa@codeaurora.org: Port to msm-4.9] Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org> Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org> Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
This commit is contained in:
committed by
Satya Durga Srinivasu Prabhala
parent
c934db5672
commit
5d135373a7
@@ -1793,7 +1793,7 @@ int vmstat_refresh(struct ctl_table *table, int write,
|
|||||||
|
|
||||||
static void vmstat_update(struct work_struct *w)
|
static void vmstat_update(struct work_struct *w)
|
||||||
{
|
{
|
||||||
if (refresh_cpu_vm_stats(true)) {
|
if (refresh_cpu_vm_stats(true) && !cpu_isolated(smp_processor_id())) {
|
||||||
/*
|
/*
|
||||||
* Counters were updated so we expect more updates
|
* Counters were updated so we expect more updates
|
||||||
* to occur in the future. Keep on running the
|
* to occur in the future. Keep on running the
|
||||||
@@ -1884,7 +1884,8 @@ static void vmstat_shepherd(struct work_struct *w)
|
|||||||
for_each_online_cpu(cpu) {
|
for_each_online_cpu(cpu) {
|
||||||
struct delayed_work *dw = &per_cpu(vmstat_work, cpu);
|
struct delayed_work *dw = &per_cpu(vmstat_work, cpu);
|
||||||
|
|
||||||
if (!delayed_work_pending(dw) && need_update(cpu))
|
if (!delayed_work_pending(dw) && need_update(cpu) &&
|
||||||
|
!cpu_isolated(cpu))
|
||||||
queue_delayed_work_on(cpu, mm_percpu_wq, dw, 0);
|
queue_delayed_work_on(cpu, mm_percpu_wq, dw, 0);
|
||||||
}
|
}
|
||||||
put_online_cpus();
|
put_online_cpus();
|
||||||
|
|||||||
Reference in New Issue
Block a user