* Oleg Nesterov <[EMAIL PROTECTED]> wrote:

> On 04/04, Ingo Molnar wrote:
> > 
> > * Oleg Nesterov <[EMAIL PROTECTED]> wrote:
> > 
> > > But we don't need tasklist_lock at all, we can use 
> > > rcu_read_lock/unlock. Q: don't we need task_rq_lock() to read 
> > > ->cpus_allowed "atomically" ?
> > 
> > right now ->cpus_allowed is protected by tasklist_lock. We cannot do 
> > RCU here because ->cpus_allowed modifications are not RCUified.
> 
> Is it so? that was my question. Afaics, set_cpus_allowed() does 
> p->cpus_allowed = new_mask under rq->lock, so I don't understand how 
> tasklist_lock can help.

you are right, we could (and should) make this depend on rq_lock only - 
i.e. just take away the tasklist_lock like your patch does. It's not 
like the user could expect to observe any ordering between PID lookup 
and affinity-mask changes. And my RCU comment is bogus: it's not like we 
allocate ->cpus_allowed :-/

        Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to