linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Andi Kleen <ak@suse.de>
To: Christoph Lameter <clameter@sgi.com>
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	Martin Bligh <mbligh@google.com>,
	linux-mm@kvack.org,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [PATCH 1/4] x86_64: Switch to SPARSE_VIRTUAL
Date: Mon, 2 Apr 2007 17:44:39 +0200	[thread overview]
Message-ID: <200704021744.39880.ak@suse.de> (raw)
In-Reply-To: <Pine.LNX.4.64.0704020832320.30394@schroedinger.engr.sgi.com>

On Monday 02 April 2007 17:37, Christoph Lameter wrote:
> On Sun, 1 Apr 2007, Andi Kleen wrote:
> 
> > Hmm, this means there is at least 2MB worth of struct page on every node?
> > Or do you have overlaps with other memory (I think you have)
> > In that case you have to handle the overlap in change_page_attr()
> 
> Correct. 2MB worth of struct page is 128 mb of memory. Are there nodes 
> with smaller amounts of memory? 

Yes the discontigmem minimum is 64MB and there are some setups
(mostly with numa emulation) where you end up with nodes that small.

BTW there is no guarantee the node size is a multiple of 128MB so
you likely need to handle the overlap case. Otherwise we can 
get cache corruptions

> Note also that the default sparsemem 
> section size is (include/asm-x86_64/sparsemem.h)
> 
> #define SECTION_SIZE_BITS       27 /* matt - 128 is convenient right now */
> 
> 128MB ....
> 
> So you currently cannot have smaller sections of memory anyways.

Sparsemem is still quite experimental; discontigmem is the default
on x86-64.

> 
> > Also your "generic" vmemmap code doesn't look very generic, but
> > rather x86 specific. I didn't think huge pages could be easily
> > set up this way in many other architectures.  
> 
> We do this pmd special casing in other parts of the core VM. I have also a 
> patch for IA64 that workks with this.
> 
> > Do you have any benchmarks numbers to prove it? There seem to be a few
> > benchmarks where the discontig virt_to_page is a problem
> > (although I know ways to make it more efficient), and sparsemem
> > is normally slower. Still some numbers would be good.
> 
> You want a benchmark to prove that the removal of memory references and 
> code improves performance?

You're just moving them into MMU, not really removing it.  And need more TLB entries.
It might be faster or it might not. There are some unexpected issues, like most x86-64 
CPUs have a quite small number of large TLBs so you can get thrashing etc.

So numbers with TLB intensive workloads would be good. 

-Andi

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2007-04-02 15:44 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-01  7:10 [PATCH 1/2] Generic Virtual Memmap suport for SPARSEMEM Christoph Lameter
2007-04-01  7:10 ` [PATCH 1/4] x86_64: Switch to SPARSE_VIRTUAL Christoph Lameter
2007-04-01  7:11   ` Christoph Lameter
2007-04-01 10:46   ` Andi Kleen
2007-04-02 15:37     ` Christoph Lameter
2007-04-02 15:44       ` Andi Kleen [this message]
2007-04-02 15:51         ` Martin J. Bligh
2007-04-02 15:54         ` Christoph Lameter
2007-04-02 17:14           ` Andi Kleen
2007-04-02 17:34             ` Christoph Lameter
2007-04-02 19:54           ` Dave Hansen
2007-04-02 20:11             ` Christoph Lameter
2007-04-02 20:13       ` Dave Hansen
2007-04-02 20:30         ` Christoph Lameter
2007-04-02 20:38           ` Martin Bligh
2007-04-02 20:51             ` Christoph Lameter
2007-04-05 11:50               ` Andy Whitcroft
2007-04-05 18:27                 ` Christoph Lameter
2007-04-07 22:06                   ` [PATCH 1/4] x86_64: (SPARSE_VIRTUAL doubles sparsemem speed) Christoph Lameter
2007-04-07 22:18                     ` Andi Kleen
2007-04-09 16:40                     ` William Lee Irwin III
2007-04-09 17:16                       ` Christoph Lameter
2007-04-09 18:20                         ` William Lee Irwin III
2007-04-02 21:08           ` [PATCH 1/4] x86_64: Switch to SPARSE_VIRTUAL Dave Hansen
2007-04-02 21:28             ` Christoph Lameter
2007-04-02 21:43               ` Martin Bligh
2007-04-02 21:56               ` Dave Hansen
2007-04-02 22:29                 ` Christoph Lameter
2007-04-02 22:31                 ` Andi Kleen
2007-04-02 22:37                   ` Christoph Lameter
2007-04-02 22:41                     ` Martin Bligh
2007-04-02 22:49                       ` Christoph Lameter
2007-04-02 22:52                         ` Martin Bligh
2007-04-05 12:07                   ` Andy Whitcroft
2007-04-04 21:27               ` Bob Picco
2007-04-04 22:38                 ` Christoph Lameter
2007-04-02 23:03       ` Bjorn Helgaas
2007-04-02 15:44     ` Christoph Lameter
2007-04-02 16:18     ` Christoph Lameter
2007-04-02 20:50 ` [PATCH 1/2] Generic Virtual Memmap suport for SPARSEMEM Dave Hansen
2007-04-02 21:00   ` Christoph Lameter
2007-04-02 21:22     ` Dave Hansen
2007-04-02 21:31       ` Christoph Lameter
2007-04-02 21:42         ` Dave Hansen
2007-04-02 21:53           ` Christoph Lameter
2007-04-02 22:05             ` Dave Hansen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200704021744.39880.ak@suse.de \
    --to=ak@suse.de \
    --cc=clameter@sgi.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mbligh@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox