Re: [PATCH] export swapper_space

From: James Bottomley
Date: Sun May 23 2004 - 18:13:20 EST


On Sun, 2004-05-23 at 18:04, Andrew Morton wrote:
> I'd be a bit reluctant to do this. filesystems actually have no need for
> page_mapping() - page->mapping is always correct in that context and
> page_mapping() has additional overhead. So if poss we should avoid this
> export so as to force filesystems to avoid page_mapping().
>
> parisc broke because its flush_dcache_page() is inlined, and it uses
> page_mapping(). I'd suggest that parisc and arm uninline that function -
> it's quite large anyway.

You mean our fast path for flush_dcache_page

static inline void flush_dcache_page(struct page *page)
{
struct address_space *mapping = page_mapping(page);

if (mapping && !mapping_mapped(mapping)) {
set_bit(PG_dcache_dirty, &page->flags);
} else {
__flush_dcache_page(page);
}
}

Yes, that's the culprit...I suppose we could uninline it.

James


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