Re: [RFC PATCH v4 1/9] CPU hotplug: Provide APIs to prevent CPU offline from atomic context
From: Oleg Nesterov <oleg@redhat.com>
Date: 2012-12-12 19:36:59
Also in:
lkml
From: Oleg Nesterov <oleg@redhat.com>
Date: 2012-12-12 19:36:59
Also in:
lkml
On 12/12, Oleg Nesterov wrote:
On 12/12, Srivatsa S. Bhat wrote:quoted
On 12/12/2012 10:47 PM, Oleg Nesterov wrote:quoted
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.