DragonFly BSD
DragonFly kernel List (threaded) for 2010-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Patch for Proportional RSS


From: Pratyush <pratyush.kshirsagar@xxxxxxxxx>
Date: Tue, 28 Sep 2010 05:37:48 +0000 (UTC)

Pratyush Kshirsagar <pratyush.kshirsagar <at> gmail.com> 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] gmail.com>
> 
> 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.





[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]