Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754056Ab0H1O23 (ORCPT ); Sat, 28 Aug 2010 10:28:29 -0400 Received: from casper.infradead.org ([85.118.1.10]:42788 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753539Ab0H1O1w (ORCPT ); Sat, 28 Aug 2010 10:27:52 -0400 Message-Id: <20100828141637.421594670@chello.nl> User-Agent: quilt/0.47-1 Date: Sat, 28 Aug 2010 16:16:37 +0200 From: Peter Zijlstra To: Andrea Arcangeli , Avi Kivity , Thomas Gleixner , Rik van Riel , Ingo Molnar , akpm@linux-foundation.org, Linus Torvalds Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, Benjamin Herrenschmidt , David Miller , Hugh Dickins , Mel Gorman , Nick Piggin , Peter Zijlstra , Paul McKenney , Yanmin Zhang , Stephen Rothwell Subject: [PATCH 00/20] mm: Preemptibility -v4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1710 Lines: 41 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 did too when Martin provided the conversion patch for his arch). There are no known architectures left unconverted, although some arch code never did see a compiler (superh and ia64 come to mind, I'll try and update my toolchains next week). Yanmin ran the last 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. ) 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 Do people feel its ready to get added to -next? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/