From 187a9534c315f853c94ae2d3c074fcb9f6797b33 Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Mon, 11 Oct 2010 11:51:57 +0200 Subject: [PATCH] --- yaml --- r: 213227 b: refs/heads/master c: 30310045dd20a286cf3800f063f79b468e132fb1 h: refs/heads/master i: 213225: ed6b545b927b8560dfff2700c6cc84bd0d4e00ad 213223: b13553c1f20b413d6495ea0751feb82b6971da0a v: v3 --- [refs] | 2 +- trunk/kernel/workqueue.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 7d4a29f081b3..1eeb82d7b962 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cdadf0097cdca06c497ffaeb5982e028c6e4ed38 +refs/heads/master: 30310045dd20a286cf3800f063f79b468e132fb1 diff --git a/trunk/kernel/workqueue.c b/trunk/kernel/workqueue.c index cb2ccfbed0c6..b57a8babdec3 100644 --- a/trunk/kernel/workqueue.c +++ b/trunk/kernel/workqueue.c @@ -604,7 +604,9 @@ static bool keep_working(struct global_cwq *gcwq) { atomic_t *nr_running = get_gcwq_nr_running(gcwq->cpu); - return !list_empty(&gcwq->worklist) && atomic_read(nr_running) <= 1; + return !list_empty(&gcwq->worklist) && + (atomic_read(nr_running) <= 1 || + gcwq->flags & GCWQ_HIGHPRI_PENDING); } /* Do we need a new worker? Called from manager. */