From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1767195AbXDES1x (ORCPT ); Thu, 5 Apr 2007 14:27:53 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1767194AbXDES1x (ORCPT ); Thu, 5 Apr 2007 14:27:53 -0400 Received: from netops-testserver-4-out.sgi.com ([192.48.171.29]:53773 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1767189AbXDES1w (ORCPT ); Thu, 5 Apr 2007 14:27:52 -0400 Date: Thu, 5 Apr 2007 11:27:47 -0700 (PDT) From: Christoph Lameter X-X-Sender: clameter@schroedinger.engr.sgi.com To: Andy Whitcroft cc: Martin Bligh , Dave Hansen , Andi Kleen , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, KAMEZAWA Hiroyuki Subject: Re: [PATCH 1/4] x86_64: Switch to SPARSE_VIRTUAL In-Reply-To: <4614E293.3010908@shadowen.org> Message-ID: References: <20070401071024.23757.4113.sendpatchset@schroedinger.engr.sgi.com> <20070401071029.23757.78021.sendpatchset@schroedinger.engr.sgi.com> <200704011246.52238.ak@suse.de> <1175544797.22373.62.camel@localhost.localdomain> <461169CF.6060806@google.com> <4614E293.3010908@shadowen.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 5 Apr 2007, Andy Whitcroft wrote: > Christoph if you could let us know which benchmarks you are seeing gains > with that would be a help. You saw the numbers that Ken got with the pipe test right? Then there are some minor improvements if you run AIM7. I got into this because I saw the code that was generated by sparsemem and discontig. Sparsemem was doing a series of lookups and so did pure discontig on x86_64. Both were really too complex for inlining. Discontig/Vmemmap on IA64 was sort of cleaner but there was still a reference to a variable plus it was creating the needs for lots of TLBs. These VM primitives are pretty critical and the code for those needs to be minimal and inline. So I removed the variable ref from discontig/Vmemmap and reduced the wokr to be done to the simple formula (that I also found in textbooks on memmap management). Avoided the TLB pressure by using the 1-1 mappings page size. I could get real some performance numbers for this by sticking in a performance counter before and after virt_to_page and page_address. But I am pretty sure about the result just looking at the code.