On Wed, 2005-08-10 at 18:27 +0100, Mel Gorman wrote:
> I later linearly scan the mem_map looking for pages that can be freed up
> (usually LRU pages). I was expecting any page with PG_inode set to have a
> page->mapping but not all of them do. It is the pages without a ->mapping
> that are confusing the hell out of me.
How about putting a check for PG_inode and a periodic dump_stack()
wherever page->mapping is cleared? That should at least let you catch
the culprit who is clearing them. __remove_from_page_cache() is the only
real place I see this being done.
Are you remembering to clean PG_inode when a page is freed? Perhaps
it's allocated for the page cache, reclaimed, returned to the allocator,
and reallocated as anonymous memory where you're seeing the null
->mapping. Might want to check for PG_inode in free_pages_check().
-- Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|