lkml.org 
[lkml]   [2013]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/8] workqueue: advance concurrency management
Date
I found the early-increasing nr_running in wq_worker_waking_up() is useless
in many cases. it tries to avoid waking up idle workers for pending work item.
but delay increasing nr_running does not increase waking up idle workers.

so we delay increasing and remove wq_worker_waking_up() and ...

enjoy a simpler concurrency management.

Lai Jiangshan (8):
workqueue: remove @cpu from wq_worker_sleeping()
workqueue: use create_and_start_worker() in manage_workers()
workqueue: remove cpu_intensive from process_one_work()
workqueue: quit cm mode when sleeping
workqueue: remove disabled wq_worker_waking_up()
workqueue: make nr_running non-atomic
workqueue: move worker->flags up
workqueue: rename ->nr_running to ->nr_cm_workers

kernel/sched/core.c | 6 +-
kernel/workqueue.c | 234 +++++++++++++++---------------------------
kernel/workqueue_internal.h | 9 +-
3 files changed, 89 insertions(+), 160 deletions(-)

--
1.7.7.6



\
 
 \ /
  Last update: 2013-04-14 19:21    [W:0.105 / U:2.436 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site