Messages in this thread | | | Subject | Re: [PATCH 04/40] sched: implement __set_cpus_allowed() | From | Peter Zijlstra <> | Date | Wed, 20 Jan 2010 09:50:01 +0100 |
| |
On Wed, 2010-01-20 at 17:35 +0900, Tejun Heo wrote: > Hello, > > On 01/19/2010 05:37 PM, Peter Zijlstra wrote: > > On Tue, 2010-01-19 at 10:07 +0900, Tejun Heo wrote: > >> > >> It's also necessary to guarantee forward progress during CPU_DOWN. > >> The problem with kthread_bind() is that it's not synchronized against > >> CPU hotplug operations. It needs outer synchronization like calling > >> it directly from CPU_DOWN_PREP. I guess it's doable but I think it > >> would be better to simply share the backend implementation between > >> set_cpus_allowed_ptr() and kthread_bind(). > > > > OK, so you're saying you need to migrate the rescue thread during > > cpu-down. That thread is guaranteed sleeping right, > > No, it's not. It might have been tasked to process works from other > CPUs.
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?
| |