On 12/12, Oleg Nesterov wrote: > > On 12/12, Srivatsa S. Bhat wrote: > > > > On 12/12/2012 10:47 PM, Oleg Nesterov wrote: > > > > > > Why it needs to be per-cpu? It can be global and __read_mostly to avoid > > > the false-sharing. OK, perhaps to put reader_percpu_refcnt/writer_signal > > > into a single cacheline... > > > > Even I realized this (that we could use a global) after posting out the > > series.. But do you think that it would be better to retain the per-cpu > > variant itself, due to the cache effects? > > I don't really know, up to you. This was the question ;)
But perhaps there is another reason to make it per-cpu... It seems we can avoid cpu_hotplug.active_writer == current check in get/put. take_cpu_down() can clear this_cpu(writer_signal) right after it takes hotplug_rwlock for writing. It runs with irqs and preemption disabled, nobody else will ever look at writer_signal on its CPU. Oleg. -- 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/

