Hello, I have heard that this particular information, while very important to userland developers like me, is probably too expensive to keep track of for most users.
Perhaps a way to enable it for developers, whom are willing to spend the cpu cycles, and disable it for regular use would be a solution. Would it be possible develop a solution allowing us to enable/disable this tracking via a sysctl call? Richard F. Rebel On Wed, 2005-02-16 at 11:02 -0400, Mauricio Lin wrote: > Hi Hugh, > > Thanks by your suggestion. I did not know that kernel 2.4.29 has > changed the statm implementation. As I can see the statm > implementation is different between 2.4 and 2.6. > > Let me see if I can use the 2.4.29 statm idea to improve the smaps for > kernel 2.6.11-rc. > > BR, > > Mauricio Lin. > > On Wed, 16 Feb 2005 12:00:55 +0000 (GMT), Hugh Dickins <[EMAIL PROTECTED]> > wrote: > > On Wed, 16 Feb 2005, Mauricio Lin wrote: > > > Well, for each vma it is checked how many pages are mapped to rss. So > > > I have to check per page if it is allocated in physical memory. I know > > > that this is a heavy function, but do you have any suggestion to > > > improve this? What do you mean "needs refactoring into pgd_range, > > > pud_range, pmd_range, pte_range levels like 2.4's statm"? Could you > > > give more details, please? > > > > Just look at, say, linux-2.4.29/fs/proc/array.c proc_pid_statm: > > which calls statm_pgd_range which calls statm_pmd_range which > > calls statm_pte_range which scans along the array of ptes doing > > the pte examination you're doing. There are plenty of examples > > in 2.6.11-rc mm/memory.c of how to do it with pud level too. > > > > Whereas your way starts at the top and descends the tree each time > > for every leaf, repeatedly mapping and unmapping the page table if > > that pagetable is in highmem. You took follow_page as your starting > > point, which is good for a single pte, but inefficient for many. > > > > Your function(s) will still be heavyweight, but somewhat faster. > > > > Hugh > > -- Richard F. Rebel cat /dev/null > `tty`
signature.asc
Description: This is a digitally signed message part