[ofa-general] Re: [patch 2/6] mmu_notifier: Callbacks to invalidate address ranges
Andrea Arcangeli
andrea at qumranet.com
Fri Feb 29 13:23:27 PST 2008
On Fri, Feb 29, 2008 at 01:03:16PM -0800, Christoph Lameter wrote:
> That means we need both the anon_vma locks and the i_mmap_lock to become
> semaphores. I think semaphores are better than mutexes. Rik and Lee saw
> some performance improvements because list can be traversed in parallel
> when the anon_vma lock is switched to be a rw lock.
The improvement was with a rw spinlock IIRC, so I don't see how it's
related to this.
Perhaps the rwlock spinlock can be changed to a rw semaphore without
measurable overscheduling in the fast path. However theoretically
speaking the rw_lock spinlock is more efficient than a rw semaphore in
case of a little contention during the page fault fast path because
the critical section is just a list_add so it'd be overkill to
schedule while waiting. That's why currently it's a spinlock (or rw
spinlock).
> Sounds like we get to a conceptually clean version here?
I don't have a strong opinion if it should become a semaphore
unconditionally or only with a CONFIG_XPMEM=y. But keep in mind
preempt-rt runs quite a bit slower, or we could rip spinlocks out of
the kernel in the first place ;)
More information about the general
mailing list