linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Linux-MM <linux-mm@kvack.org>, linux-ia64@vger.kernel.org
Subject: Re: [RFC] virtual memmap for sparsemem [1/2] arch independent part
Date: Thu, 19 Oct 2006 09:39:55 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0610190932310.8072@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20061019172140.5a29962c.kamezawa.hiroyu@jp.fujitsu.com>

On Thu, 19 Oct 2006, KAMEZAWA Hiroyuki wrote:

> For make patches simple, pfn_valid() uses sparsemem's logic. 

Hmm... pfn_valid is much less costly if you use ia64's scheme. You can 
simply probe without having to walk tables.

> This patch maps sparsemem's *sparse* memmap into contiguous virtual address range
> starting from virt_memmap_start.

Could you make that a static address instead of a variable? Also we 
already have vmem_map (ia64 specific) and mem_map. The logic here is the 
same as FLATMEM. Why not use the definitions for FLATMEM?
 
> * memmap is allocated per SECTION_SIZE, so there will be some of RESERVED pages.
> * no holes in MAX_ORDER range. so HOLE_IN_ZONE=n here.

Good. Had a patch here to do the same but I do not have time to get to 
it. Surely wish that this will become the default config and that we can 
get rid of at least some of the memory models.

> +#ifdef CONFIG_VMEMMAP_SPARSEMEM
> +extern struct page *virt_memmap_start;

extern struct page[] would be better performance wise. Use the definitions 
for FLATMEM?

> +		if (pte_none(*pte))
> +			set_pte(pte, pfn_pte(__pa(map) >> PAGE_SHIFT, PAGE_KERNEL));

Would it be possible to add support for larger page sizes? On x86_64 we 
probably would like to use 2MB pages and it may be good to have 
configurable page size on ia64.

The virtual memmap has the potential of becoming the default for x86_64 
and many other platforms that already map memory. There is no performance 
difference between FLATMEM and this virtual memmap approach if there are 
already mappings in play.

--
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>

  parent reply	other threads:[~2006-10-19 16:39 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-19  8:21 KAMEZAWA Hiroyuki
2006-10-19 15:16 ` Andy Whitcroft
2006-10-19 16:43   ` Christoph Lameter
2006-10-20  1:00   ` KAMEZAWA Hiroyuki
2006-10-19 16:39 ` Christoph Lameter [this message]
2006-10-20  1:18   ` KAMEZAWA Hiroyuki
2006-10-20  1:42     ` Christoph Lameter
2006-10-20  2:06       ` KAMEZAWA Hiroyuki
2006-10-20  2:26         ` Christoph Lameter
2006-10-20 16:20           ` Luck, Tony
2006-11-21 11:37 ` Heiko Carstens
2006-11-21 12:19   ` KAMEZAWA Hiroyuki
2006-11-21 12:19     ` Heiko Carstens

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=Pine.LNX.4.64.0610190932310.8072@schroedinger.engr.sgi.com \
    --to=clameter@sgi.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    /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