Messages in this thread | | | Date | Tue, 20 Dec 2011 14:06:28 +0000 | From | Al Viro <> | Subject | Re: [PATCH] VFS: br_write_lock locks on possible CPUs other than online CPUs |
| |
On Tue, Dec 20, 2011 at 06:20:44PM +0530, Srivatsa S. Bhat wrote:
> > Hey, actually there is a simple solution: just nip it (or rather delay it) > > in the bud ;) That is, we watch out for CPU_UP_PREPARE event and lock it > > up there itself using our spinlock.. that way, that cpu will not come up > > until we are done executing br_write_unlock(). In fact, we can even fail > > the onlining of that cpu by returning appropriate value from our callback, > > but that would be too harsh.. so we can settle for delaying the cpu online
Eeeek... Are you serious about leaving a spinlock grabbed by notifier callback and not released until another callback call? That would be one hell of a constraint on what these notifiers can do - _nothing_ between these calls (including other notifier callbacks, etc.) would be allowed to block.
That sounds extremely brittle...
| |