Re: [PATCH] include linux/pagemap.h in asm-generic/tlb.h

From: Jeff Dike
Date: Fri Aug 24 2007 - 22:16:32 EST


On Fri, Aug 24, 2007 at 05:20:27PM -0700, Andrew Morton wrote:
> This is worrisome. If you look at pagemap.h, it includes a pile of things
> which could easily themsleves try to include tlb.h via some path or
> another. I fear that this patch will cause explosions with some config
> and/or architecture.

I agree, I looked at the includes and had the same thoughts. I sent
it in because there is a problem here, and it fixes a UML config
without noticably breaking anything else.

> So I think a better fix would be better, but I'm not able to suggest what,
> as there is little detail about the failure here and I can find no mention
> of page_cache_release and release_pages in asm-generic/tlb.h. Presumably
> they're getting pulled in via some macro and then instantiated in some
> inline function or something?

Yes, it's straightforward -

tlb.h:

static inline void
tlb_flush_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end)
{
...
free_pages_and_swap_cache(tlb->pages, tlb->nr);
...
}

swap.h:
#define free_pages_and_swap_cache(pages, nr) \
release_pages((pages), (nr), 0);

Feel free to drop it, and I'll look at this some more.

Jeff

--
Work email - jdike at linux dot intel dot com
-
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/