[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0704051119400.9800@schroedinger.engr.sgi.com>
Date: Thu, 5 Apr 2007 11:27:47 -0700 (PDT)
From: Christoph Lameter <clameter@....com>
To: Andy Whitcroft <apw@...dowen.org>
cc: Martin Bligh <mbligh@...gle.com>,
Dave Hansen <hansendc@...ibm.com>, Andi Kleen <ak@...e.de>,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
linux-mm@...ck.org,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Subject: Re: [PATCH 1/4] x86_64: Switch to SPARSE_VIRTUAL
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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists