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

From: Andrew Morton
Date: Sat Jul 26 2008 - 15:50:54 EST


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.

--
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/