linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/20] mm: Preemptibility -v5
@ 2010-10-18 11:24 Peter Zijlstra
  2010-10-18 11:24 ` Peter Zijlstra
                   ` (21 more replies)
  0 siblings, 22 replies; 43+ messages in thread
From: Peter Zijlstra @ 2010-10-18 11:24 UTC (permalink / raw)
  To: Andrea Arcangeli, Avi Kivity, Thomas Gleixner, Rik van Riel,
	Ingo Molnar, akpm
  Cc: linux-kernel, linux-arch, Benjamin Herrenschmidt, David Miller,
	Hugh Dickins, Mel Gorman, Nick Piggin, Peter Zijlstra,
	Paul McKenney, Yanmin Zhang, Stephen Rothwell

This patch-set makes part of the mm a lot more preemptible. It converts
i_mmap_lock and anon_vma->lock to mutexes and makes mmu_gather fully
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 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 result in a nice
cleanup of the anon_vma lifetime rules wrt KSM and compaction.

This patch-set it build and boot-tested on x86_64 (a previous version was
also tested on Dave's Niagra2 machines, and I suppose s390 was too when
Martin provided the conversion patch for his arch).

There are no known architectures left unconverted.

Yanmin ran the -v3 posting through the comprehensive Intel test farm
and didn't find any regressions.

( Not included in this posting are the 4 Sparc64 patches that implement
  gup_fast, those can be applied separately after this series gets
  anywhere. )

The full series (including the Sparc64 gup_fast bits) also available in -git
form from (against Linus' tree as of about an hour ago):

  git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-mmu_preempt.git mmu_preempt

DaveM mentioned some sparc64 trouble with the -v4 posting, this turned out to
be a false positive as unpatched kernels also are having trouble on his
machines.

Linus, Andrew, Stephen, can we add this to -next for .37?

^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2010-10-18 14:56 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-18 11:24 [PATCH 00/20] mm: Preemptibility -v5 Peter Zijlstra
2010-10-18 11:24 ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 01/20] powerpc: Use call_rcu_sched() for pagetables Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 02/20] mm: Improve page_lock_anon_vma() comment Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 03/20] mm: Rename drop_anon_vma to put_anon_vma Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 04/20] mm: Move anon_vma ref out from under CONFIG_KSM Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 05/20] mm: Simplify anon_vma refcounts Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 06/20] mm: Use refcounts for page_lock_anon_vma() Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 07/20] mm: Preemptible mmu_gather Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 08/20] powerpc: " Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 09/20] sparc: " Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 10/20] s390: preemptible mmu_gather Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 11/20] arm: Preemptible mmu_gather Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 12/20] sh: " Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 13/20] um: " Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 14/20] ia64: " Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 15/20] mm, powerpc: Move the RCU page-table freeing into generic code Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 16/20] lockdep, mutex: Provide mutex_lock_nest_lock Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 17/20] mutex: Provide mutex_is_contended Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 18/20] mm: Convert i_mmap_lock and anon_vma->lock to mutexes Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 19/20] mm: Extended batches for generic mmu_gather Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 11:24 ` [PATCH 20/20] mm: Optimize page_lock_anon_vma() fast-path Peter Zijlstra
2010-10-18 11:24   ` Peter Zijlstra
2010-10-18 14:55 ` [PATCH 00/20] mm: Preemptibility -v5 Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).