Messages in this thread |  | | | Date | Wed, 20 Jan 2010 18:00:18 +0900 | | From | Tejun Heo <> | | Subject | Re: [PATCH 04/40] sched: implement __set_cpus_allowed() |
| |
Hello,
On 01/20/2010 05:50 PM, Peter Zijlstra wrote: > OK, so maybe I'm confused, but in general the workqueue thing needs to > ensure work affinity, right? So why can we move the rescue thread while > its processing another CPU's works?
It doesn't get moved directly. The CPU requests rescuer and rescuer will move itself to the CPU when it becomes idle. We can of course make the rescuer wake up some other thread and then go to sleep and the other thread can kthread_bind() the rescuer to the dying CPU but that exactly is what the set_cpus_allowed_ptr() does.
Thanks.
-- tejun
|  |