Re: [RFC PATCH] mm/migration: Remove anon vma locking fromtry_to_unmap() use

From: Ingo Molnar
Date: Sat Dec 01 2012 - 13:41:41 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Sat, Dec 1, 2012 at 4:26 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> >
> > So as a quick concept hack I wrote the patch attached below.
> > (It's not signed off, see the patch description text for the
> > reason.)
>
> Well, it confirms that anon_vma locking is a big problem, but
> as outlined in my other email it's completely incorrect from
> an actual behavior standpoint.

Yeah.

> Btw, I think the anon_vma lock could be made a spinlock
> instead of a mutex or rwsem, but that would probably take more
> work. We *shouldn't* be doing anything that needs IO inside
> the anon_vma lock, though, so it *should* be doable. But there
> are probably quite a bit of allocations inside the lock, and I
> know it covers huge areas, so a spinlock might not only be
> hard to convert to, it quite likely has latency issues too.

I'll try the rwsem and see how it goes?

> Oh, btw, MUTEX_SPIN_ON_OWNER may well improve performance too,
> but it gets disabled by DEBUG_MUTEXES. So some of the
> performance impact of the vma locking may be *very*
> kernel-config dependent.

Hm, indeed. For performance runs I typically disable lock
debugging - which might have made me not directly notice some of
the performance problems.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/