Thread (8 messages) flat view 8 messages, 3 authors, 2007-07-19

Re: Powerpc - Include pagemap.h in asm/powerpc/tlb.h

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2007-07-19 20:14:20
Also in: lkml

On Thu, 19 Jul 2007 14:55:23 -0500
Kumar Gala [off-list ref] wrote:
On Jul 19, 2007, at 12:30 AM, Andrew Morton wrote:
quoted
On Fri, 13 Jul 2007 21:20:33 -0400 Mathieu Desnoyers  
[off-list ref] wrote:
quoted
Powerpc - Include pagemap.h in asm/powerpc/tlb.h

Fixes this powerpc build error in 2.6.22-rc6-mm1 for powerpc 64 :

In file included from include2/asm/tlb.h:60,
                 from /home/compudj/git/linux-2.6-lttng/arch/ 
powerpc/mm/init_64.
c:56:
/home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h: In  
function 'tlb_fl
ush_mmu':
/home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h:76:  
error: implicit
declaration of function 'release_pages'
/home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h: In  
function 'tlb_re
move_page':
/home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h:105:  
error: implicit
 declaration of function 'page_cache_release'
You have some wordwrapping going on there.
quoted
make[2]: *** [arch/powerpc/mm/init_64.o] Error 1

release_pages is declared in linux/pagemap.h, but cannot be  
included in
linux/swap.h because of a sparc related comment:

/* only sparc can not include linux/pagemap.h in this file
 * so leave page_cache_release and release_pages undeclared... */
#define free_page_and_swap_cache(page) \
        page_cache_release(page)
#define free_pages_and_swap_cache(pages, nr) \
        release_pages((pages), (nr), 0);
It's always a worry when this happens.  What change made us need this
inclusion?  How come you're hitting it but I (and test.kernel.org,  
at least)
did not?  How come so few other architectures include pagemap.h from
asm/tlb.h?  Why do header files get into such a mess?

quoted
Signed-off-by: Mathieu Desnoyers <redacted>
CC: linuxppc-dev@ozlabs.org
CC: Paul Mackerras <redacted>
---
 include/asm-powerpc/tlb.h |    2 ++
 1 file changed, 2 insertions(+)

Index: linux-2.6-lttng/include/asm-powerpc/tlb.h
===================================================================
--- linux-2.6-lttng.orig/include/asm-powerpc/tlb.h	2007-07-13  
11:30:54.000000000 -0400
+++ linux-2.6-lttng/include/asm-powerpc/tlb.h	2007-07-13  
11:31:22.000000000 -0400
@@ -23,6 +23,8 @@
 #include <asm/mmu.h>
 #endif

+#include <linux/pagemap.h>
+
 struct mmu_gather;
Oh well.  I queued it up for someone else to worry over ;)
Andrew,

Are you sending this to linus directly or should this go via paul and  
me?
I queued it up for Paul.  I can send it over to Linus today if we have a
reason for that.  It's just that I dont understand the patch: does it fix
-mm-only breakage?  Does it fix something which already got fixed, or what?

One might think "gee, it's trivial, just slam it in", but these nested
includes are often not-trivial and something else can explode as a result.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help