> Extracts the page table entry walker from the smaps-specific code in> fs/proc/task_mmu.c. This will be used later for clearing the reference> bits on pages to measure the number of pages accessed over a time period> through /proc/pid/smaps.

Clearing reference bits? Ummm... That is a pretty inaccurate measure since reclaim can remove pages and revert the reference bits. It can never work reliably.

> The new struct pte_walker includes the struct vm_area_struct of the memory> to walk over. Iteration begins at the start address and completes at the> the end address. A pointer to another data structure may be stored in the> private field such as the struct mem_size_stats, which acts as the smaps> accumulator. For each page table entry in the VMA, the func function is> called with the corresponding struct pte_walker, the pte_t, and its> address.

Would it be possible to sync up with the people doing the page table interface?