Hey, again. On Mon, Aug 28, 2017 at 04:02:56PM -0700, Tejun Heo wrote: > Hmm... all these is mostly because workqueue lost the "ignore > concurrency management" flag a while back while converting WQ_HIGHPRI > to mean high nice priority instead of the top of the queue w/o > concurrency management. Resurrecting that shouldn't be too difficult. > I'll get back to you soon. Can you please try this patch and see how the work item behaves w/ WQ_HIGHPRI set? It disables concurrency mgmt for highpri work items which makes sense anyway. Thanks. diff --git a/kernel/workqueue.c b/kernel/workqueue.c index ca937b0..14b6bce 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -2021,7 +2021,7 @@ __acquires(&pool->lock) { struct pool_workqueue *pwq = get_work_pwq(work); struct worker_pool *pool = worker->pool; - bool cpu_intensive = pwq->wq->flags & WQ_CPU_INTENSIVE; + bool cpu_intensive = pwq->wq->flags & (WQ_CPU_INTENSIVE | WQ_HIGHPRI); int work_color; struct worker *collision; #ifdef CONFIG_LOCKDEP -- tejun -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>