From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: Andrew Morton <akpm@osdl.org>, Andi Kleen <ak@suse.de>
Subject: [PATCH] unify pfn_to_page take3 [3/23] x86_64 pfn_to_page
Date: Tue, 14 Feb 2006 18:58:51 +0900 [thread overview]
Message-ID: <43F1A9DB.1000604@jp.fujitsu.com> (raw)
In-Reply-To: <43F1A753.2020003@jp.fujitsu.com>
x86_64 can use generic funcs.
For DISCONTIGMEM, CONFIG_OUT_OF_LINE_PFN_TO_PAGE is selected.
Signed-Off-By: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Index: testtree/arch/x86_64/mm/numa.c
===================================================================
--- testtree.orig/arch/x86_64/mm/numa.c
+++ testtree/arch/x86_64/mm/numa.c
@@ -369,21 +369,6 @@ EXPORT_SYMBOL(node_data);
* Should do that.
*/
-/* Requires pfn_valid(pfn) to be true */
-struct page *pfn_to_page(unsigned long pfn)
-{
- int nid = phys_to_nid(((unsigned long)(pfn)) << PAGE_SHIFT);
- return (pfn - node_start_pfn(nid)) + NODE_DATA(nid)->node_mem_map;
-}
-EXPORT_SYMBOL(pfn_to_page);
-
-unsigned long page_to_pfn(struct page *page)
-{
- return (long)(((page) - page_zone(page)->zone_mem_map) +
- page_zone(page)->zone_start_pfn);
-}
-EXPORT_SYMBOL(page_to_pfn);
-
int pfn_valid(unsigned long pfn)
{
unsigned nid;
Index: testtree/include/asm-x86_64/mmzone.h
===================================================================
--- testtree.orig/include/asm-x86_64/mmzone.h
+++ testtree/include/asm-x86_64/mmzone.h
@@ -39,12 +39,8 @@ static inline __attribute__((pure)) int
#define pfn_to_nid(pfn) phys_to_nid((unsigned long)(pfn) << PAGE_SHIFT)
#define kvaddr_to_nid(kaddr) phys_to_nid(__pa(kaddr))
-extern struct page *pfn_to_page(unsigned long pfn);
-extern unsigned long page_to_pfn(struct page *page);
extern int pfn_valid(unsigned long pfn);
#endif
-#define local_mapnr(kvaddr) \
- ( (__pa(kvaddr) >> PAGE_SHIFT) - node_start_pfn(kvaddr_to_nid(kvaddr)) )
#endif
#endif
Index: testtree/include/asm-x86_64/page.h
===================================================================
--- testtree.orig/include/asm-x86_64/page.h
+++ testtree/include/asm-x86_64/page.h
@@ -123,8 +123,6 @@ typedef struct { unsigned long pgprot; }
#define __boot_va(x) __va(x)
#define __boot_pa(x) __pa(x)
#ifdef CONFIG_FLATMEM
-#define pfn_to_page(pfn) (mem_map + (pfn))
-#define page_to_pfn(page) ((unsigned long)((page) - mem_map))
#define pfn_valid(pfn) ((pfn) < end_pfn)
#endif
@@ -140,6 +138,7 @@ typedef struct { unsigned long pgprot; }
#endif /* __KERNEL__ */
+#include <asm-generic/memory_model.h>
#include <asm-generic/page.h>
#endif /* _X86_64_PAGE_H */
Index: testtree/arch/x86_64/Kconfig
===================================================================
--- testtree.orig/arch/x86_64/Kconfig
+++ testtree/arch/x86_64/Kconfig
@@ -321,6 +321,10 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
def_bool y
depends on NUMA
+config OUT_OF_LINE_PFN_TO_PAGE
+ def_bool y
+ depends on DISCONTIGMEM
+
config NR_CPUS
int "Maximum number of CPUs (2-256)"
range 2 256
next prev parent reply other threads:[~2006-02-14 9:57 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-14 9:48 [PATCH] unify pfn_to_page take3 [0/23] KAMEZAWA Hiroyuki
2006-02-14 9:54 ` [PATCH] unify pfn_to_page take3 [1/23] generic functions KAMEZAWA Hiroyuki
2006-02-14 9:56 ` [PATCH] unify pfn_to_page take3 [2/23] i386 pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 9:58 ` KAMEZAWA Hiroyuki [this message]
2006-02-14 10:02 ` [PATCH] unify pfn_to_page take3 [4/23] powerpc pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:12 ` [PATCH] unify pfn_to_page take3 [5/23] alpha pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:19 ` [PATCH] unify pfn_to_page take3 [6/23] arm pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:21 ` [PATCH] unify pfn_to_page take3 [7/23] arm26 pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:23 ` [PATCH] unify pfn_to_page take3 [8/23] cris pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:25 ` [PATCH] unify pfn_to_page take3 [9/23] frv pfn_tp_page KAMEZAWA Hiroyuki
2006-02-14 10:28 ` [PATCH] unify pfn_to_page take3 [10/23] h8300 pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:33 ` [PATCH] unify pfn_to_page take3 [11/23] m32r pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:36 ` [PATCH] unify pfn_to_page take3 [12/23] mips pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:40 ` [PATCH] unify pfn_to_page take3 [13/23] parisc pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:43 ` [PATCH] unify pfn_to_page take3 [14/23] ppc pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:45 ` [PATCH] unify pfn_to_page take3 [15/23] s390 pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:47 ` [PATCH] unify pfn_to_page take3 [16/23] sh pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:51 ` [PATCH] unify pfn_to_page take3 [17/23] sh64 pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:54 ` [PATCH] unify pfn_to_page take3 [18/23] sparc pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:56 ` [PATCH] unify pfn_to_page take3 [19/23] sparc64 pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:58 ` [PATCH] unify pfn_to_page take3 [20/23] UML pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 10:59 ` [PATCH] unify pfn_to_page take3 [21/23] v850 pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 11:01 ` [PATCH] unify pfn_to_page take3 [22/23] xtensa pfn_to_page KAMEZAWA Hiroyuki
2006-02-14 11:04 ` [PATCH] unify pfn_to_page take3 [23/23] ia64 pfn_to_page KAMEZAWA Hiroyuki
2006-02-23 11:09 ` KAMEZAWA Hiroyuki
2006-02-15 5:33 ` [PATCH] unify pfn_to_page take3 [0/23] Andrew Morton
2006-02-15 5:43 ` KAMEZAWA Hiroyuki
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=43F1A9DB.1000604@jp.fujitsu.com \
--to=kamezawa.hiroyu@jp.fujitsu.com \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.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