Re: [2.6 patch] linux/swap.h must #include <linux/pagemap.h>

From: Hugh Dickins
Date: Sat Jul 26 2008 - 16:16:21 EST


On Sat, 26 Jul 2008, Andrew Morton wrote:
> On Sat, 26 Jul 2008 19:13:43 +0100 (BST) Hugh Dickins <hugh@xxxxxxxxxxx> wrote:
>
> > > /home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-generic/tlb.h: In function 'tlb_flush_mmu':
> > > /home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-generic/tlb.h:76: error: implicit declaration of function 'release_pages'
> > > /home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-generic/tlb.h: In function 'tlb_remove_page':
> > > /home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-generic/tlb.h:105: error: implicit declaration of function 'page_cache_release'
>
> tlb_finish_mmu() inlines tlb_flush_mmu() and ends up being quite large.
>
> tlb_finish_mmu() has five callsites in core kernel.
>
> The above error is God's way of telling us that it's all too large to
> be inlined.
>
> uninlining these things would be a bit of a pita because of the various
> arch overrides. But it really is the right thing to do.

Yes, that's a good point too. They could be put in arch/*/mm/somewhere.c.

But I'd rather put that off even further into the future, because there's
quite a bit of rationalization to be done (more arch differences than
necessary), and Ben's the one currently holding our reorganize-mmu_gather
ball. (I keep pointing to you, Ben, please don't think I'm accusing at
all: I'm the guilty one who held it and did nothing with it before.)

I'm still in favour the quick fs/exec.c build fixup for now.

Hugh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/