User: Password:
Subscribe / Log in / New account

mm: preemptibility -v2

From:  Peter Zijlstra <>
To:  Andrea Arcangeli <>, Avi Kivity <>, Thomas Gleixner <>, Rik van Riel <>, Ingo Molnar <>,, Linus Torvalds <>
Subject:  [PATCH 00/13] mm: preemptibility -v2
Date:  Thu, 08 Apr 2010 21:17:37 +0200
Message-ID:  <>
Cc:,, Benjamin Herrenschmidt <>, David Miller <>, Hugh Dickins <>, Mel Gorman <>, Nick Piggin <>, Peter Zijlstra <>
Archive-link:  Article


This (still 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 machines and even builds a
kernel. I've also attempted powerpc and sparc, which I've compile tested with
their respective defconfigs, remaining are (afaikt the rest uses the generic
tlb bits):

 - s390
 - ia64
 - arm
 - superh
 - um

From those, s390 and ia64 look 'interesting', arm and superh seem very similar
and should be relatively easy (-rt has a patchlet for arm iirc).

What kind of performance tests would people have me run on this to satisfy
their need for numbers? I've done a kernel build on x86_64 and if anything that
was slightly faster with these patches, but it was well within the noise
levels so it might be heat noise I'm looking at ;-)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds