Question about page frame management in x86_64

From: Emre Can Sezer
Date: Thu Oct 30 2008 - 18:02:44 EST


Hi,

For my research I'm trying to keep track of which pages belong to an LKM.
I use linux-2.6.26.

When the module is first loaded, the virtual memory region (ffff ffff a000
0000) maps to a set of page frames, which I track. Later on (after all
the modules have loaded), these same pages are returned by
get_free_pages(), before they are released. At this point, the page table
entries have also changed. I observe this for all modules. Since the
modules haven't exited, I can only assume that the pages are relocated.
However, neither free_more_memory() is called nor balance_pgdat() reclaims
any pages. They aren't freed via any of the __free_pages() family of
functions either. What could be relocating these pages and which
functions would be responsible for it?

Thanks in advance,

John

PS. I'm not subscribed to the mailing list, so please CC to me. Thanks.
--
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/