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-1311:30:54.000000000 -0400+++ linux-2.6-lttng/include/asm-powerpc/tlb.h 2007-07-1311: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.