All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/21] mm: Preemptibility -v6
@ 2010-11-26 14:38 ` Peter Zijlstra
  0 siblings, 0 replies; 157+ messages in thread
From: Peter Zijlstra @ 2010-11-26 14:38 UTC (permalink / raw)
  To: Andrea Arcangeli, Avi Kivity, Thomas Gleixner, Rik van Riel,
	Ingo Molnar, akpm, Linus Torvalds
  Cc: linux-kernel, linux-arch, linux-mm, 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 is 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

Linus seems to want this to get some serious review and be pushed through
Andrew (well, anybody but me actually, but since Andrew is mm master...)

Ben, Thomas, Andrew, can I trick you guys into looking at this stuff?



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

end of thread, other threads:[~2011-02-15 15:39 UTC | newest]

Thread overview: 157+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-26 14:38 [PATCH 00/21] mm: Preemptibility -v6 Peter Zijlstra
2010-11-26 14:38 ` Peter Zijlstra
2010-11-26 14:38 ` Peter Zijlstra
2010-11-26 14:38 ` [PATCH 01/21] mm: Revert page_lock_anon_vma() lock annotation Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-30  1:19   ` KOSAKI Motohiro
2010-11-30  1:19     ` KOSAKI Motohiro
2010-11-26 14:38 ` [PATCH 02/21] powerpc: Use call_rcu_sched() for pagetables Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-27 10:33   ` Nick Piggin
2010-11-27 10:33     ` Nick Piggin
2010-11-27 21:55     ` Benjamin Herrenschmidt
2010-11-27 21:55       ` Benjamin Herrenschmidt
2010-11-26 14:38 ` [PATCH 03/21] mm: Improve page_lock_anon_vma() comment Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-29  2:14   ` KAMEZAWA Hiroyuki
2010-11-29  2:14     ` KAMEZAWA Hiroyuki
2010-11-26 14:38 ` [PATCH 04/21] mm: Rename drop_anon_vma to put_anon_vma Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-29  2:16   ` KAMEZAWA Hiroyuki
2010-11-29  2:16     ` KAMEZAWA Hiroyuki
2010-11-26 14:38 ` [PATCH 05/21] mm: Move anon_vma ref out from under CONFIG_KSM Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-29  2:19   ` KAMEZAWA Hiroyuki
2010-11-29  2:19     ` KAMEZAWA Hiroyuki
2010-11-26 14:38 ` [PATCH 06/21] mm: Simplify anon_vma refcounts Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-29  2:30   ` KAMEZAWA Hiroyuki
2010-11-29  2:30     ` KAMEZAWA Hiroyuki
2010-11-26 14:38 ` [PATCH 07/21] mm: Use refcounts for page_lock_anon_vma() Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-29  2:35   ` KAMEZAWA Hiroyuki
2010-11-29  2:35     ` KAMEZAWA Hiroyuki
2010-11-29 20:41     ` Peter Zijlstra
2010-11-29 20:41       ` Peter Zijlstra
2010-11-30  1:21     ` KOSAKI Motohiro
2010-11-30  1:21       ` KOSAKI Motohiro
2010-11-26 14:38 ` [PATCH 08/21] mm: Preemptible mmu_gather Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-29  2:53   ` KAMEZAWA Hiroyuki
2010-11-29  2:53     ` KAMEZAWA Hiroyuki
2010-11-29  2:53     ` KAMEZAWA Hiroyuki
2010-11-29 20:47     ` Peter Zijlstra
2010-11-29 20:47       ` Peter Zijlstra
2010-11-26 14:38 ` [PATCH 09/21] powerpc: " Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-30  3:12   ` Benjamin Herrenschmidt
2010-11-30  3:12     ` Benjamin Herrenschmidt
2010-11-30  3:35     ` Benjamin Herrenschmidt
2010-11-30  3:35       ` Benjamin Herrenschmidt
2010-11-30 19:25       ` Peter Zijlstra
2010-11-30 19:25         ` Peter Zijlstra
2010-11-26 14:38 ` [PATCH 10/21] sparc: " Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38 ` [PATCH 11/21] s390: preemptible mmu_gather Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38 ` [PATCH 12/21] arm: Preemptible mmu_gather Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38 ` [PATCH 13/21] sh: " Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38 ` [PATCH 14/21] um: " Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38 ` [PATCH 15/21] ia64: " Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38 ` [PATCH 16/21] mm, powerpc: Move the RCU page-table freeing into generic code Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-26 14:38   ` Peter Zijlstra
2010-11-30  3:05   ` Benjamin Herrenschmidt
2010-11-30  3:05     ` Benjamin Herrenschmidt
2010-11-26 14:39 ` [PATCH 17/21] lockdep, mutex: Provide mutex_lock_nest_lock Peter Zijlstra
2010-11-26 14:39   ` Peter Zijlstra
2010-11-26 14:39   ` Peter Zijlstra
2010-11-26 14:39 ` [PATCH 18/21] mutex: Provide mutex_is_contended Peter Zijlstra
2010-11-26 14:39   ` Peter Zijlstra
2010-11-26 14:39   ` Peter Zijlstra
2010-11-29  2:58   ` KAMEZAWA Hiroyuki
2010-11-29  2:58     ` KAMEZAWA Hiroyuki
2010-11-29 20:49     ` Peter Zijlstra
2010-11-29 20:49       ` Peter Zijlstra
2010-11-26 14:39 ` [PATCH 19/21] mm: Convert i_mmap_lock and anon_vma->lock to mutexes Peter Zijlstra
2010-11-26 14:39   ` Peter Zijlstra
2010-11-26 14:39   ` Peter Zijlstra
2010-11-29  3:05   ` KAMEZAWA Hiroyuki
2010-11-29  3:05     ` KAMEZAWA Hiroyuki
2010-11-29 20:50     ` Peter Zijlstra
2010-11-29 20:50       ` Peter Zijlstra
2010-11-30  1:28   ` KOSAKI Motohiro
2010-11-30  1:28     ` KOSAKI Motohiro
2010-11-26 14:39 ` [PATCH 20/21] mm: Extended batches for generic mmu_gather Peter Zijlstra
2010-11-26 14:39   ` Peter Zijlstra
2010-11-26 14:39   ` Peter Zijlstra
2010-11-29  3:11   ` KAMEZAWA Hiroyuki
2010-11-29  3:11     ` KAMEZAWA Hiroyuki
2010-11-26 14:39 ` [PATCH 21/21] mm: Optimize page_lock_anon_vma() fast-path Peter Zijlstra
2010-11-26 14:39   ` Peter Zijlstra
2010-11-26 14:39   ` Peter Zijlstra
2010-11-29  3:22   ` KAMEZAWA Hiroyuki
2010-11-29  3:22     ` KAMEZAWA Hiroyuki
2010-11-29  9:00 ` [PATCH 00/21] mm: Preemptibility -v6 Benjamin Herrenschmidt
2010-11-29  9:00   ` Benjamin Herrenschmidt
2010-11-29 11:41   ` Peter Zijlstra
2010-11-29 11:41     ` Peter Zijlstra
2011-01-18  7:12 ` Hugh Dickins
2011-01-18  7:12   ` Hugh Dickins
2011-01-18 10:30   ` Peter Zijlstra
2011-01-18 10:30     ` Peter Zijlstra
2011-01-18 10:44   ` Peter Zijlstra
2011-01-18 10:44     ` Peter Zijlstra
2011-01-18 10:50   ` Peter Zijlstra
2011-01-18 10:50     ` Peter Zijlstra
2011-01-19 17:10   ` Peter Zijlstra
2011-01-19 17:10     ` Peter Zijlstra
2011-01-20 19:57     ` Hugh Dickins
2011-01-20 19:57       ` Hugh Dickins
2011-01-21  7:36       ` Benjamin Herrenschmidt
2011-01-21  7:36         ` Benjamin Herrenschmidt
2011-01-21 15:33       ` Peter Zijlstra
2011-01-21 15:33         ` Peter Zijlstra
2011-01-22 21:06         ` Paul E. McKenney
2011-01-22 21:06           ` Paul E. McKenney
2011-01-23 11:03           ` Peter Zijlstra
2011-01-23 11:03             ` Peter Zijlstra
2011-01-24 12:21         ` Peter Zijlstra
2011-01-24 12:21           ` Peter Zijlstra
2011-01-24 14:34           ` Oleg Nesterov
2011-01-24 14:34             ` Oleg Nesterov
2011-01-24 15:00             ` Peter Zijlstra
2011-01-24 15:00               ` Peter Zijlstra
2011-01-24 15:33               ` Oleg Nesterov
2011-01-24 15:33                 ` Oleg Nesterov
2011-01-24 12:45       ` Peter Zijlstra
2011-01-24 12:45         ` Peter Zijlstra
2011-01-24 14:24         ` Peter Zijlstra
2011-01-24 14:24           ` Peter Zijlstra
2011-01-21 17:44     ` Andrea Arcangeli
2011-01-21 17:44       ` Andrea Arcangeli
2011-01-31 10:02     ` Martin Schwidefsky
2011-01-31 10:02       ` Martin Schwidefsky
2011-02-15 14:00     ` Martin Schwidefsky
2011-02-15 14:00       ` Martin Schwidefsky
2011-02-15 15:39       ` Martin Schwidefsky
2011-02-15 15:39         ` Martin Schwidefsky

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.