Patch for Proportional RSS

Pratyush pratyush.kshirsagar at
Mon Sep 27 22:41:10 PDT 2010

Pratyush Kshirsagar <pratyush.kshirsagar <at>> writes:

> Hi!
> Here is the patch for the proportional RSS. I have attached the diff also.
> It will work only for uni processor i386 arch, other functionality
> will be added soon.
> Please, tell me if some changes need to be made.
> Remarks from you guys are always important and well-come.
> Good day ...
> -Pratyush
> <pratyush.kshirsagar [at]>
> Attachment (0001-Changes-made-to-submit-a-clean-patch.patch):
application/octet-stream, 7356 bytes
> Attachment (diff_9_27_10): application/octet-stream, 6720 bytes

@Jonas - Thanks, will remove the lines you suggested.

@Aggelos - I will make the change from cout to count. Actually, I wrote the code
and tested but the changes were merged into my master. So, unable to get the
diff, I forked a node in my new Dragonfly VM and wrote it.

Also wanted to discuss about the division. I got your point, I am doing
something wrong, following would be a possible solution.

What I thought, If their is a Process P' and assuming it has only a single
object O'. Suppose, O' has 1000 pages in memory i.e. the resident page count.
Now, if all this 1000 pages each have pv_list_count 3 i.e. each page is shared
by 3 processes (2 processes apart from P'). So the agg_pv_list_count will be
3000 and the resident_page_count is 1000.
Now if I divide agg_*/resident_* it will be 3000/1000 i.e. I get that approx 3
process are sharing that object and should then divide res*/3 to get the
proportional RSS.

More information about the Kernel mailing list