Re: [PATCH] A new entry for /proc

From: Hugh Dickins
Date: Mon Feb 28 2005 - 15:44:24 EST


On Mon, 28 Feb 2005, Mauricio Lin wrote:
>
> Now I am testing with /proc/pid/smaps and the values are showing that
> the old one is faster than the new one. So I will keep using the old
> smaps version.

Sorry, I don't have time for more than the briefest look.

It appears that your old resident_mem_size method is just checking
pte_present, whereas your new smaps_pte_range method is also doing
pte_page (yet no prior check for pfn_valid: wrong) and checking
!PageReserved i.e. accessing the struct page corresponding to each
pte. So it's not a fair comparison, your new method is accessing
many more cachelines than your old method.

Though it's correct to check pfn_valid and !PageReserved to get the
same total rss as would be reported elsewhere, I'd suggest that it's
really not worth the overhead of those struct page accesses: just
stick with the pte_present test.

Your smaps_pte_range is missing pte_unmap?

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