Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932687Ab1FPVdc (ORCPT ); Thu, 16 Jun 2011 17:33:32 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:44039 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758321Ab1FPVdb (ORCPT ); Thu, 16 Jun 2011 17:33:31 -0400 MIME-Version: 1.0 In-Reply-To: References: <1308097798.17300.142.camel@schen9-DESK> <1308101214.15392.151.camel@sli10-conroe> <1308138750.15315.62.camel@twins> <20110615161827.GA11769@tassilo.jf.intel.com> <1308156337.2171.23.camel@laptop> <1308163398.17300.147.camel@schen9-DESK> <1308169937.15315.88.camel@twins> <4DF91CB9.5080504@linux.intel.com> <1308172336.17300.177.camel@schen9-DESK> <1308173849.15315.91.camel@twins> <1308255972.17300.450.camel@schen9-DESK> From: Linus Torvalds Date: Thu, 16 Jun 2011 14:26:41 -0700 Message-ID: Subject: Re: REGRESSION: Performance regressions from switching anon_vma->lock to mutex To: Tim Chen Cc: Peter Zijlstra , Andi Kleen , Shaohua Li , Andrew Morton , Hugh Dickins , KOSAKI Motohiro , Benjamin Herrenschmidt , David Miller , Martin Schwidefsky , Russell King , Paul Mundt , Jeff Dike , Richard Weinberger , "Luck, Tony" , KAMEZAWA Hiroyuki , Mel Gorman , Nick Piggin , Namhyung Kim , "Shi, Alex" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "Rafael J. Wysocki" Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1053 Lines: 30 On Thu, Jun 16, 2011 at 2:06 PM, Linus Torvalds wrote: > On Thu, Jun 16, 2011 at 2:05 PM, Linus Torvalds > wrote: >> >> This patch is UNTESTED! > > It was also UNATTACHED! Hmm. And it doesn't work. We deadlock when we free the anon_vma because the *freeing* path wants to take the anon_vma lock. See that horrid code in anon_vma_free(). So now we now hold the root over the whole series of frees, and get an instant deadlock. We also can happen to free the root anon_vma before we release the lock in it, which is another slight problem ;) So the unlink_anon_vmas() case is actually much more complicated than the clone case. In other words, just forget that second patch. I'll have to think about it. Linus -- 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/