On 12/08, Srivatsa S. Bhat wrote: > > On 12/08/2012 01:26 AM, Oleg Nesterov wrote: > > Not sure I undestand... I simply meant that, say, > > get_online_cpus_atomic() under task->pi_lock can obviously deadlock > > with take_cpu_down() which can want the same task->pi_lock after > > disable_atomic_reader(). > > Right, I mistook your point for something else (i.e., ability for > the writer to do get_online_cpus_atomic() safely, which I fixed in > v3). > > So, your point above is very valid. And yes, we can't do much > about it, we'll just have to teach lockdep to catch such usages.
Afaics, this is simple. Just add the "fake" lockdep_map as, say, lglock does. Except, you need rwlock_acquire_read(map, 0, 1, IP) because this lock is recursive. But. There is another email from you about the possible deadlock. I'll write the reply in a minute... Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/