[ofa-general] Re: [PATCH 08 of 11] anon-vma-rwsem
Andrew Morton
akpm at linux-foundation.org
Wed May 7 15:31:03 PDT 2008
On Thu, 8 May 2008 00:22:05 +0200
Andrea Arcangeli <andrea at qumranet.com> wrote:
> > No, the simple solution is to just make up a whole new upper-level lock,
> > and get that lock *first*. You can then take all the multiple locks at a
> > lower level in any order you damn well please.
>
> Unfortunately the lock you're talking about would be:
>
> static spinlock_t global_lock = ...
>
> There's no way to make it more granular.
>
> So every time before taking any ->i_mmap_lock _and_ any anon_vma->lock
> we'd need to take that extremely wide spinlock first (and even worse,
> later it would become a rwsem when XPMEM is selected making the VM
> even slower than it already becomes when XPMEM support is selected at
> compile time).
Nope. We only need to take the global lock before taking *two or more* of
the per-vma locks.
I really wish I'd thought of that.
More information about the general
mailing list