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: 31+ 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:02 ` 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:54 ` 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-14 11:04 ` KAMEZAWA Hiroyuki
2006-02-23 11:09 ` 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.