Re: [PATCH 2/4] sched: implement __set_cpus_allowed()

From: Peter Zijlstra
Date: Mon May 31 2010 - 06:46:34 EST


On Mon, 2010-05-31 at 12:19 +0200, Tejun Heo wrote:
> Hello,
>
> On 05/31/2010 12:15 PM, Peter Zijlstra wrote:
> > On Mon, 2010-05-31 at 12:06 +0200, Tejun Heo wrote:
> >> I meant CPU_ONLINE not CPU_UP_PREPARE. So,
> >> we can mark a cpu active before other CPU_ONLINE callbacks are run.
> >
> > OK, that should work.
>
> The only remaining problemw is PF_THREAD_BOUND. It needs to be set
> for wq workers (including rescuers). Would it be okay to add an
> interface which only ignores PF_THREAD_BOUND?

So workers _are_ thread bound and don't migrate, so for those I don't
see the problem, that is of course until we have to break affinity when
their CPU goes down, at which point we should clear PF_THREAD_BOUND I
think.

For the rescue thread, why not set PF_THREAD_BOUND when its running
worklets and clear it when done? That way we get extra checking that
people won't migrate it when its not allowed.

Does that work, or did I miss something?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/