Approach to the RSS
Pratyush Kshirsagar
pratyush.kshirsagar at gmail.com
Sat Jun 19 19:55:36 PDT 2010
Hello,I came up with the following approach. I went through the code and the book named "Implementation of free BSD system" for some detail understanding.There is a vmspace structure embedding vm_map structure. The vm_map structure in turn points to the head of vm_map_entry.
The vm_map_entry points to the vm_object.The structure vm_object contains the reference count of the number of vm_map_entry or other objects referencing it.Also, the vm_object structure has count of the number of resident pages.
struct vm_object {....int ref_count;....int resident_page_count;....};Suppose their are 2 process, proc_A and proc_B. proc_A has three references to a object and proc_B has 2.
Thus, now their are five references and if we divide the resident_page_count by ref_count, we can then multiply it by 3 to get/calculate proportional RSS for proc_A and multiplying by 2 will give it for proc_B.
Thus, we can get it without going very deep into the convoluted chain. And which will be fast.If you guys think its a feasible solution, I can carry it and test it. After the testing if the results are weird we can just move forward till the depth of the chain.
Thanks,Pratyush Kshirsagar.
More information about the Kernel
mailing list