From: Andrea Arcangeli on
On Fri, Apr 02, 2010 at 04:16:01PM +0200, Peter Zijlstra wrote:
> Hi,
>
> This (incomplete) patch-set makes part of the mm a lot more preemptible.
> It converts i_mmap_lock and anon_vma->lock to mutexes.
> On the way there it also makes mmu_gather preemptible.
>
> The main motivation was making mm_take_all_locks() preemptible, since
> it appears people are nesting hundreds of spinlocks there.
>
> The side-effects are that we can finally make mmu_gather preemptible,
> something which lots of people have wanted to do for a long time.
>
> It also gets us anon_vma refcounting which seems to be wanted by
> KSM as well as Mel's compaction work.
>
> This patch set seems to build and boot on my x86_64 machine and even
> builds a kernel. I'll work on getting PPC working again and audit other
> architectures their mmu_gather implementation.

This is also the needed bit to allow to schedule in the mmu notifier
methods by switching from rcu to srcu there. That will make XPMEM
happy by allowing all mmu notifier methods to schedule. Considering
this may not slowdown the more important fast paths, it seems overall
beneficial effort to me.

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