Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752659Ab3JUF1h (ORCPT ); Mon, 21 Oct 2013 01:27:37 -0400 Received: from mail-ea0-f178.google.com ([209.85.215.178]:37784 "EHLO mail-ea0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752490Ab3JUF1g (ORCPT ); Mon, 21 Oct 2013 01:27:36 -0400 Date: Mon, 21 Oct 2013 07:27:31 +0200 From: Ingo Molnar To: Davidlohr Bueso Cc: Al Viro , Andrew Morton , Linus Torvalds , Michel Lespinasse , Peter Zijlstra , Rik van Riel , Tim Chen , aswin@hp.com, linux-mm , linux-kernel@vger.kernel.org, Russell King , Catalin Marinas , Will Deacon , Richard Kuo , Ralf Baechle , Benjamin Herrenschmidt , Paul Mackerras , Martin Schwidefsky , Heiko Carstens , Paul Mundt , Chris Metcalf , Jeff Dike , Richard Weinberger , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" Subject: Re: [PATCH 4/3] x86/vdso: Optimize setup_additional_pages() Message-ID: <20131021052731.GA14476@gmail.com> References: <1382057438-3306-1-git-send-email-davidlohr@hp.com> <1382057438-3306-4-git-send-email-davidlohr@hp.com> <20131018060501.GA3411@gmail.com> <1382327556.2402.23.camel@buesod1.americas.hpqcorp.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1382327556.2402.23.camel@buesod1.americas.hpqcorp.net> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1771 Lines: 42 * Davidlohr Bueso wrote: > > 2) > > > > I don't see the justification: this code gets executed in exec() where > > a new mm has just been allocated. There's only a single user of the mm > > and thus the critical section width of mmap_sem is more or less > > irrelevant. > > > > mmap_sem critical section size only matters for codepaths that > > threaded programs can hit. > > Yes, I was surprised by the performance boost I noticed when running > this patch. This weekend I re-ran the tests (including your 4/3 patch) > and noticed that while we're still getting some benefits (more like in > the +5% throughput range), it's not as good as I originally reported. I > believe the reason is because I had ran the tests on the vanilla kernel > without the max clock frequency, so the comparison was obviously not > fair. That said, I still think it's worth adding this patch, as it does > help at a micro-optimization level, and it's one less mmap_sem user we > have to worry about. But it's a mmap_sem user that is essentially _guaranteed_ to have only a single user at that point, in the exec() path! So I don't see how this can show _any_ measurable speedup, let alone a 5% speedup in a macro test. If our understanding is correct then the patch does nothing but shuffle around a flag setting operation. (the mmap_sem is equivalent to setting a single flag, in the single-user case.) Now, if our understanding is incorrect then we need to improve our understanding. Thanks, Ingo -- 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/