Re: [PATCH 04/40] sched: implement __set_cpus_allowed()

From: Peter Zijlstra
Date: Wed Jan 20 2010 - 03:51:49 EST

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?

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at