* [RFC][PATCH] unify pfn_to_page [25/25] sparc64 pfn_to_page/page_to_pfn
@ 2006-02-06 11:23 KAMEZAWA Hiroyuki
2006-02-06 21:24 ` David S. Miller
0 siblings, 1 reply; 3+ messages in thread
From: KAMEZAWA Hiroyuki @ 2006-02-06 11:23 UTC (permalink / raw)
To: Linux Kernel Mailing List
sparc64 can use generic ones by defining ARCH_PFN_OFFSET as pfn_base.
Signed-Off-By: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitu.com>
Index: cleanup_pfn_page/include/asm-sparc64/page.h
===================================================================
--- cleanup_pfn_page.orig/include/asm-sparc64/page.h
+++ cleanup_pfn_page/include/asm-sparc64/page.h
@@ -129,8 +129,7 @@ typedef unsigned long pgprot_t;
* the first physical page in the machine is at some huge physical address,
* such as 4GB. This is common on a partitioned E10000, for example.
*/
-extern struct page *pfn_to_page(unsigned long pfn);
-extern unsigned long page_to_pfn(struct page *);
+#define ARCH_PFN_OFFSET (pfn_base)
#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr)>>PAGE_SHIFT)
Index: cleanup_pfn_page/arch/sparc64/mm/init.c
===================================================================
--- cleanup_pfn_page.orig/arch/sparc64/mm/init.c
+++ cleanup_pfn_page/arch/sparc64/mm/init.c
@@ -320,16 +320,6 @@ void __kprobes flush_icache_range(unsign
}
}
-unsigned long page_to_pfn(struct page *page)
-{
- return (unsigned long) ((page - mem_map) + pfn_base);
-}
-
-struct page *pfn_to_page(unsigned long pfn)
-{
- return (mem_map + (pfn - pfn_base));
-}
-
void show_mem(void)
{
printk("Mem-info:\n");
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [RFC][PATCH] unify pfn_to_page [25/25] sparc64 pfn_to_page/page_to_pfn
2006-02-06 11:23 [RFC][PATCH] unify pfn_to_page [25/25] sparc64 pfn_to_page/page_to_pfn KAMEZAWA Hiroyuki
@ 2006-02-06 21:24 ` David S. Miller
2006-02-07 0:02 ` KAMEZAWA Hiroyuki
0 siblings, 1 reply; 3+ messages in thread
From: David S. Miller @ 2006-02-06 21:24 UTC (permalink / raw)
To: kamezawa.hiroyu; +Cc: linux-kernel
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Date: Mon, 06 Feb 2006 20:23:33 +0900
> --- cleanup_pfn_page.orig/arch/sparc64/mm/init.c
> +++ cleanup_pfn_page/arch/sparc64/mm/init.c
> @@ -320,16 +320,6 @@ void __kprobes flush_icache_range(unsign
> }
> }
>
> -unsigned long page_to_pfn(struct page *page)
> -{
> - return (unsigned long) ((page - mem_map) + pfn_base);
> -}
> -
> -struct page *pfn_to_page(unsigned long pfn)
> -{
> - return (mem_map + (pfn - pfn_base));
> -}
> -
> void show_mem(void)
> {
> printk("Mem-info:\n");
We did not want these inlined on sparc64 for a good reason.
The pointer arithmatic gets expanded to many additions,
subtractions, and shifts, and I felt it too much to inline.
If you want to consolidate all of the implementations, that's
fine, but please keep the option of not inlining these two
routines.
Thank you.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [RFC][PATCH] unify pfn_to_page [25/25] sparc64 pfn_to_page/page_to_pfn
2006-02-06 21:24 ` David S. Miller
@ 2006-02-07 0:02 ` KAMEZAWA Hiroyuki
0 siblings, 0 replies; 3+ messages in thread
From: KAMEZAWA Hiroyuki @ 2006-02-07 0:02 UTC (permalink / raw)
To: David S. Miller; +Cc: linux-kernel
David S. Miller wrote:
> We did not want these inlined on sparc64 for a good reason.
> The pointer arithmatic gets expanded to many additions,
> subtractions, and shifts, and I felt it too much to inline.
>
Okay.
> If you want to consolidate all of the implementations, that's
> fine, but please keep the option of not inlining these two
> routines.
>
I'll do (and CC to each arch's maintainer in next post)
Thanks,
-- Kame
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-02-07 0:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-06 11:23 [RFC][PATCH] unify pfn_to_page [25/25] sparc64 pfn_to_page/page_to_pfn KAMEZAWA Hiroyuki
2006-02-06 21:24 ` David S. Miller
2006-02-07 0:02 ` KAMEZAWA Hiroyuki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox