From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759874Ab2BJSjT (ORCPT ); Fri, 10 Feb 2012 13:39:19 -0500 Received: from casper.infradead.org ([85.118.1.10]:34998 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754941Ab2BJSjS (ORCPT ); Fri, 10 Feb 2012 13:39:18 -0500 Subject: Re: [v7 0/8] Reduce cross CPU IPI interference From: Peter Zijlstra To: Gilad Ben-Yossef Cc: Chris Metcalf , Frederic Weisbecker , linux-kernel@vger.kernel.org, Christoph Lameter , linux-mm@kvack.org, Pekka Enberg , Matt Mackall , Sasha Levin , Rik van Riel , Andi Kleen , Mel Gorman , Andrew Morton , Alexander Viro , Avi Kivity , Michal Nazarewicz , Kosaki Motohiro , Milton Miller In-Reply-To: References: <1327572121-13673-1-git-send-email-gilad@benyossef.com> <1327591185.2446.102.camel@twins> <20120201170443.GE6731@somewhere.redhat.com> <4F2AAEB9.9070302@tilera.com> Content-Type: text/plain; charset="UTF-8" Date: Fri, 10 Feb 2012 19:39:08 +0100 Message-ID: <1328899148.25989.38.camel@laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.32.2 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 2012-02-05 at 13:46 +0200, Gilad Ben-Yossef wrote: > > /* > > * Cause all memory mappings to be populated in the page table. > > * Specifying this when entering dataplane mode ensures that no future > > * page fault events will occur to cause interrupts into the Linux > > * kernel, as long as no new mappings are installed by mmap(), etc. > > * Note that since the hardware TLB is of finite size, there will > > * still be the potential for TLB misses that the hypervisor handles, > > * either via its software TLB cache (fast path) or by walking the > > * kernel page tables (slow path), so touching large amounts of memory > > * will still incur hypervisor interrupt overhead. > > */ > > #define DP_POPULATE 0x8 > > hmm... I've probably missed something, but doesn't this replicate > mlockall (MCL_CURRENT|MCL_FUTURE) ? Never use mlockall() its a sign you're doing it wrong, also his comment seems to imply MCL_FUTURE isn't required.