Re: [RFC][PATCH 4/7] RSS accounting hooks over the code

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Eric W. Biederman
Date: Tuesday, March 13, 2007 - 9:01 am

Nick Piggin <nickpiggin@yahoo.com.au> writes:


Not per process I want this on a group of processes, and yes that
is all I want just.  I just want accounting of the maximum RSS of
a group of processes and then the mechanism to limit that maximum rss.


No.  I don't want the meaning of my rss limit to be affected by what
other processes are doing.  We have constraints of how many resources
the box actually has.  But I don't want accounting so sloppy that
processes outside my group of processes can artificially
lower my rss value, which magically raises my rss limit.


I will agree that this patchset is probably in the right general ballpark.
But the fact that pages are assigned exactly one owner is pure non-sense.
We can do better.  That is all I am asking for someone to at least attempt
to actually account for the rss of a group of processes and get the numbers
right when we have shared pages, between different groups of
processes.  We have the data structures to support this with rmap.

Let me describe the situation where I think the accounting in the
patchset goes totally wonky. 


Gcc as I recall maps the pages it is compiling with mmap.
If in a single kernel tree I do:
make -jN O=../compile1 &
make -jN O=../compile2 &

But set it up so that the two compiles are in different rss groups.
If I run the concurrently they will use the same files at the same
time and most likely because of the first touch rss limit rule even
if I have a draconian rss limit the compiles will both be able to
complete and finish.   However if I run either of them alone if I
use the most draconian rss limit I can that allows both compiles to
finish I won't be able to compile a single kernel tree.

The reason for the failure with a single tree (in my thought
experiment) is that the rss limit was set below the what is actually
needed for the code to work.  When we were compiling two kernels and
they were mapping the same pages at the same time we could put the rss
limit below the minimum rss needed for the compile to execute and
still have it complete because of with first touch only one group
accounted for the pages and the other just leached of the first, as
long as both compiles grabbed some of the pages they could complete.

No I know in practice most draconian limits will simply result in the
page staying in the page cache but not mapped into processes in the
group with the draconian limit, or they will result in pages of the
group with the draconian limit being pushed out into the swap cache.
So the chances of actual application failure even with a draconian
rss limit are quite unlikely.  (I actually really appreciate this
fact).

However the messed up accounting that doesn't handle sharing between
groups of processes properly really bugs me.  Especially when we have
the infrastructure to do it right.

Does that make more sense?

Eric
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC][PATCH 1/7] Resource counters, Pavel Emelianov, (Tue Mar 6, 7:49 am)
[RFC][PATCH 2/7] RSS controller core, Pavel Emelianov, (Tue Mar 6, 7:55 am)
[RFC][PATCH 4/7] RSS accounting hooks over the code, Pavel Emelianov, (Tue Mar 6, 8:00 am)
Re: [RFC][PATCH 2/7] RSS controller core, Andrew Morton, (Tue Mar 6, 3:00 pm)
Re: [RFC][PATCH 1/7] Resource counters, Balbir Singh, (Tue Mar 6, 9:03 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Balbir Singh, (Tue Mar 6, 10:37 pm)
Re: [RFC][PATCH 1/7] Resource counters, Pavel Emelianov, (Wed Mar 7, 12:19 am)
Re: [RFC][PATCH 2/7] RSS controller core, Pavel Emelianov, (Wed Mar 7, 12:27 am)
Re: [RFC][PATCH 1/7] Resource counters, Herbert Poetzl, (Fri Mar 9, 9:37 am)
Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Fri Mar 9, 9:48 am)
Re: [RFC][PATCH 1/7] Resource counters, Pavel Emelianov, (Sun Mar 11, 2:01 am)
Re: [RFC][PATCH 2/7] RSS controller core, Pavel Emelianov, (Sun Mar 11, 2:08 am)
Re: [RFC][PATCH 2/7] RSS controller core, Kirill Korotaev, (Sun Mar 11, 5:26 am)
Re: [RFC][PATCH 2/7] RSS controller core, Andrew Morton, (Sun Mar 11, 5:51 am)
Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Sun Mar 11, 7:32 am)
Re: [RFC][PATCH 2/7] RSS controller core, Pavel Emelianov, (Sun Mar 11, 8:04 am)
Re: [RFC][PATCH 2/7] RSS controller core, Balbir Singh, (Sun Mar 11, 8:51 am)
Re: [RFC][PATCH 1/7] Resource counters, Eric W. Biederman, (Sun Mar 11, 12:00 pm)
Re: [RFC][PATCH 3/7] Data structures changes for RSS accou ..., Eric W. Biederman, (Sun Mar 11, 12:13 pm)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Eric W. Biederman, (Sun Mar 11, 12:14 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Eric W. Biederman, (Sun Mar 11, 12:34 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Sun Mar 11, 5:41 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Sun Mar 11, 6:00 pm)
Re: [RFC][PATCH 1/7] Resource counters, Herbert Poetzl, (Sun Mar 11, 6:16 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Pavel Emelianov, (Mon Mar 12, 1:31 am)
Re: [RFC][PATCH 2/7] RSS controller core, Pavel Emelianov, (Mon Mar 12, 2:02 am)
Re: [Devel] Re: [RFC][PATCH 2/7] RSS controller core, Kirill Korotaev, (Mon Mar 12, 2:23 am)
Re: [RFC][PATCH 2/7] RSS controller core, Balbir Singh, (Mon Mar 12, 2:55 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Kirill Korotaev, (Mon Mar 12, 9:23 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Kirill Korotaev, (Mon Mar 12, 10:07 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Dave Hansen, (Mon Mar 12, 10:33 am)
Re: [RFC][PATCH 2/7] RSS controller core, Dave Hansen, (Mon Mar 12, 11:42 am)
Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Mon Mar 12, 2:11 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Mon Mar 12, 3:41 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Dave Hansen, (Mon Mar 12, 4:02 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Mon Mar 12, 4:43 pm)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Herbert Poetzl, (Mon Mar 12, 4:54 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Balbir Singh, (Mon Mar 12, 6:57 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Srivatsa Vaddagiri, (Mon Mar 12, 7:24 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Andrew Morton, (Mon Mar 12, 11:04 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Pavel Emelianov, (Tue Mar 13, 12:17 am)
Re: [RFC][PATCH 1/7] Resource counters, Eric W. Biederman, (Tue Mar 13, 2:09 am)
Re: [Devel] Re: [RFC][PATCH 2/7] RSS controller core, Eric W. Biederman, (Tue Mar 13, 2:26 am)
Re: [RFC][PATCH 1/7] Resource counters, Pavel Emelianov, (Tue Mar 13, 2:27 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Eric W. Biederman, (Tue Mar 13, 2:43 am)
Re: [Devel] Re: [RFC][PATCH 1/7] Resource counters, Kirill Korotaev, (Tue Mar 13, 2:49 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Eric W. Biederman, (Tue Mar 13, 2:58 am)
Re: [Devel] Re: [RFC][PATCH 2/7] RSS controller core, Kirill Korotaev, (Tue Mar 13, 3:19 am)
Re: [Devel] Re: [RFC][PATCH 2/7] RSS controller core, Andrew Morton, (Tue Mar 13, 4:48 am)
Re: [Devel] Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Tue Mar 13, 7:59 am)
Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Tue Mar 13, 8:05 am)
Re: [RFC][PATCH 2/7] RSS controller core, Kirill Korotaev, (Tue Mar 13, 8:10 am)
Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Tue Mar 13, 8:11 am)
Re: [RFC][PATCH 1/7] Resource counters, Herbert Poetzl, (Tue Mar 13, 8:21 am)
Re: [RFC][PATCH 2/7] RSS controller core, Pavel Emelianov, (Tue Mar 13, 8:32 am)
Re: [RFC][PATCH 1/7] Resource counters, Pavel Emelianov, (Tue Mar 13, 8:41 am)
Re: [Devel] Re: [RFC][PATCH 2/7] RSS controller core, Kirill Korotaev, (Tue Mar 13, 8:43 am)
Re: [RFC][PATCH 2/7] RSS controller core, Kirill Korotaev, (Tue Mar 13, 8:54 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Eric W. Biederman, (Tue Mar 13, 9:01 am)
Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Tue Mar 13, 9:06 am)
Re: [RFC][PATCH 1/7] Resource counters, Srivatsa Vaddagiri, (Tue Mar 13, 9:07 am)
Re: [RFC][PATCH 1/7] Resource counters, Herbert Poetzl, (Tue Mar 13, 9:32 am)
Re: [RFC][PATCH 2/7] RSS controller core, Dave Hansen, (Tue Mar 13, 10:05 am)
Re: [RFC][PATCH 2/7] RSS controller core, Dave Hansen, (Tue Mar 13, 10:26 am)
Re: [RFC][PATCH 2/7] RSS controller core, Alan Cox, (Tue Mar 13, 12:09 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Dave Hansen, (Tue Mar 13, 1:28 pm)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Balbir Singh, (Tue Mar 13, 11:42 pm)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Nick Piggin, (Tue Mar 13, 11:57 pm)
Re: [RFC][PATCH 1/7] Resource counters, Pavel Emelianov, (Wed Mar 14, 12:12 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Balbir Singh, (Wed Mar 14, 12:48 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Vaidyanathan Srinivasan, (Wed Mar 14, 6:25 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Vaidyanathan Srinivasan, (Wed Mar 14, 7:43 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Cedric Le Goater, (Wed Mar 14, 8:37 am)
Re: [RFC][PATCH 2/7] RSS controller core, Mel Gorman, (Wed Mar 14, 8:38 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Pavel Emelianov, (Wed Mar 14, 8:45 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Kirill Korotaev, (Wed Mar 14, 9:16 am)
Re: [RFC][PATCH 2/7] RSS controller core, Mel Gorman, (Wed Mar 14, 9:47 am)
Re: [RFC][PATCH 2/7] RSS controller core, Dave Hansen, (Wed Mar 14, 1:42 pm)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Nick Piggin, (Wed Mar 14, 10:01 pm)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Balbir Singh, (Wed Mar 14, 10:44 pm)
Re: [RFC][PATCH 1/7] Resource counters, Eric W. Biederman, (Thu Mar 15, 9:51 am)
Re: [RFC][PATCH 2/7] RSS controller core, Eric W. Biederman, (Thu Mar 15, 5:55 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Dave Hansen, (Fri Mar 16, 9:31 am)
Re: [RFC][PATCH 2/7] RSS controller core, Eric W. Biederman, (Fri Mar 16, 11:54 am)
Re: [RFC][PATCH 2/7] RSS controller core, Dave Hansen, (Fri Mar 16, 12:46 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Eric W. Biederman, (Sun Mar 18, 9:58 am)
Re: [RFC][PATCH 2/7] RSS controller core, Eric W. Biederman, (Sun Mar 18, 10:42 am)
Re: [Devel] Re: [RFC][PATCH 2/7] RSS controller core, Paul Menage, (Sun Mar 18, 3:44 pm)
Re: [RFC][PATCH 2/7] RSS controller core, Herbert Poetzl, (Mon Mar 19, 8:48 am)
Re: [Devel] Re: [RFC][PATCH 2/7] RSS controller core, Eric W. Biederman, (Mon Mar 19, 10:41 am)
controlling mmap()'d vs read/write() pages, Dave Hansen, (Tue Mar 20, 9:15 am)
Re: [RFC][PATCH 2/7] RSS controller core, Mel Gorman, (Tue Mar 20, 11:57 am)
Re: controlling mmap()'d vs read/write() pages, Eric W. Biederman, (Tue Mar 20, 2:19 pm)
Re: controlling mmap()'d vs read/write() pages, Herbert Poetzl, (Thu Mar 22, 5:51 pm)
Re: controlling mmap()'d vs read/write() pages, Nick Piggin, (Thu Mar 22, 10:57 pm)
Re: controlling mmap()'d vs read/write() pages, Eric W. Biederman, (Fri Mar 23, 3:12 am)
Re: controlling mmap()'d vs read/write() pages, Nick Piggin, (Fri Mar 23, 3:47 am)
Re: controlling mmap()'d vs read/write() pages, Eric W. Biederman, (Fri Mar 23, 5:21 am)
Re: controlling mmap()'d vs read/write() pages, Dave Hansen, (Fri Mar 23, 9:41 am)
Re: controlling mmap()'d vs read/write() pages, Herbert Poetzl, (Fri Mar 23, 11:16 am)
Re: controlling mmap()'d vs read/write() pages, Nick Piggin, (Wed Mar 28, 12:33 am)
Re: controlling mmap()'d vs read/write() pages, Balbir Singh, (Wed Mar 28, 2:18 am)
Re: [RFC][PATCH 4/7] RSS accounting hooks over the code, Ethan Solomita, (Wed Mar 28, 1:15 pm)