Messages in this thread | | | Date | Thu, 23 Jun 2011 10:37:22 +0200 | From | Tejun Heo <> | Subject | Re: [patch 4/4] sched: Distangle worker accounting from rq->lock |
| |
Hello, Thomas.
The hooking place doesn't have anything to do with rq->lock. The problem with Peter's patch was preemption, not the lock.
> There is also no harm from updating nr_running when the task returns > from scheduling instead of accounting it in the wakeup code.
Well, not exactly. If CPU is being thrashed, we don't want to try to fire up new workers or calling in rescuers. If nr_running is bumped up from ttwu(), a woken up but not yet running worker already counts as running. With the suggested change, when we hit such heavy CPU thrashing, workqueue code will add things on top of it.
Thanks.
-- tejun
| |