linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Yasunori Goto <y-goto@jp.fujitsu.com>
To: Mike Kravetz <kravetz@us.ibm.com>
Cc: linux-mm@kvack.org, Andy Whitcroft <apw@shadowen.org>,
	Anton Blanchard <anton@samba.org>,
	linux-kernel@vger.kernel.org
Subject: Re: pfn_to_nid under CONFIG_SPARSEMEM and CONFIG_NUMA
Date: Wed, 16 Nov 2005 12:14:18 +0900	[thread overview]
Message-ID: <20051116115548.EE18.Y-GOTO@jp.fujitsu.com> (raw)
In-Reply-To: <20051115221003.GA2160@w-mikek2.ibm.com>

On Tue, 15 Nov 2005 14:10:03 -0800
Mike Kravetz <kravetz@us.ibm.com> wrote:

> The following code/comment is in <linux/mmzone.h> if SPARSEMEM
> and NUMA are configured.
> 
> /*
>  * These are _only_ used during initialisation, therefore they
>  * can use __initdata ...  They could have names to indicate
>  * this restriction.
>  */
> #ifdef CONFIG_NUMA
> #define pfn_to_nid              early_pfn_to_nid
> #endif
> 
> However, pfn_to_nid is certainly used in check_pte_range() mm/mempolicy.c.
> I wouldn't be surprised to find more non init time uses if you follow all
> the call chains.
> 
> On ppc64, early_pfn_to_nid now only uses __initdata.  So, I would expect
> policy code that calls check_pte_range to cause serious problems on ppc64.
> 
> Any suggestions on how this should really be structured?  I'm thinking
> of removing the above definition of pfn_to_nid to force each architecture
> to provide a (non init only) version.

Yes! I worried about same things.
How is this?

static inline int pfn_to_nid(unsigned long pfn)
{
	return page_to_nid(pfn_to_page(pfn));
}

page_to_nid() and pfn_to_page() is well defined.
Probably, this will work on all architecture.
So, just we should check this should be used after that memmap
is initialized.


Bye.

-- 
Yasunori Goto 


--
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:[~2005-11-16  3:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-15 22:10 Mike Kravetz
2005-11-16  3:14 ` Yasunori Goto [this message]
2005-11-16 13:00   ` Robin Holt
2005-11-16 13:25 ` Andy Whitcroft
2005-11-16 22:59 ` [PATCH 0/3] SPARSEMEM: pfn_to_nid implementation Andy Whitcroft
2005-11-16 23:00   ` [PATCH 1/3] kvaddr_to_nid not used in common code Andy Whitcroft
2005-11-16 23:00   ` [PATCH 2/3] pfn_to_pgdat " Andy Whitcroft
2005-11-16 23:00   ` [PATCH 3/3] sparse provide pfn_to_nid Andy Whitcroft
2005-11-20  7:31     ` Andrew Morton
2005-11-20 12:21       ` Andy Whitcroft
2005-11-22 18:07       ` [PATCH 0/2] SPARSEMEM: pfn_to_nid implementation v2 Andy Whitcroft
2005-11-22 18:07         ` [PATCH 1/2] flatmem split out memory model Andy Whitcroft
2005-11-22 18:07         ` [PATCH 2/2] sparse provide pfn_to_nid Andy Whitcroft
2005-11-17  0:06   ` [PATCH 0/3] SPARSEMEM: pfn_to_nid implementation Mike Kravetz

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=20051116115548.EE18.Y-GOTO@jp.fujitsu.com \
    --to=y-goto@jp.fujitsu.com \
    --cc=anton@samba.org \
    --cc=apw@shadowen.org \
    --cc=kravetz@us.ibm.com \
    --cc=linux-kernel@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