summaryrefslogtreecommitdiff
path: root/mm/process_reclaim.c
diff options
context:
space:
mode:
authorShiraz Hashim <shashim@codeaurora.org>2015-06-11 10:41:54 +0530
committerKyle Yan <kyan@codeaurora.org>2016-06-29 15:12:09 -0700
commit1be1715f1488a28fe8d29cbb065ed9de4669efed (patch)
treece79543e86174f9da8806e0a78f59bec95432585 /mm/process_reclaim.c
parent9ff04770060db13d7d6dcfad1d0d72b4f04eaf26 (diff)
mm: process_reclaim: use unbounded cpu workqueue
It is observed that in some cases process reclaim work doesn't get chance to run due to presence of RT scheduled on the same CPU. This is leading to user space freeze and a live-lock situation where RT itself is looping for a page to be present in swap cache while process reclaim work is unable to schedule and do the same. Schedule process reclaim work on unbounded cpu workqueue so that the work has opportunity to be scheduled on to other cpu. Change-Id: I6852f7e8d0a344ab5631b188627263f11414f27e Signed-off-by: Shiraz Hashim <shashim@codeaurora.org> Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Diffstat (limited to 'mm/process_reclaim.c')
-rw-r--r--mm/process_reclaim.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/process_reclaim.c b/mm/process_reclaim.c
index 271fb38e0cb0..8cf5f13548e8 100644
--- a/mm/process_reclaim.c
+++ b/mm/process_reclaim.c
@@ -230,7 +230,7 @@ static int vmpressure_notifier(struct notifier_block *nb,
if ((pressure >= pressure_min) && (pressure < pressure_max))
if (!work_pending(&swap_work))
- schedule_work(&swap_work);
+ queue_work(system_unbound_wq, &swap_work);
return 0;
}