Re: page fault scalability patch V11 [0/7]: overview

Nick Piggin
2004-11-20T01:07:51Z

Linus Torvalds wrote:
>
> On Fri, 19 Nov 2004, Christoph Lameter wrote:
>
>>Note that I have posted two other approaches of dealing with the rss problem:
>
>
> You could also make "rss" be a _signed_ integer per-thread.
>
> When unmapping a page, you decrement one of the threads that shares the mm
> (doesn't matter which - which is why the per-thread rss may go negative),
> and when mapping a page you increment it.
>
> Then, anybody who actually wants a global rss can just iterate over
> threads and add it all up. If you do it under the mmap_sem, it's stable,
> and if you do it outside the mmap_sem it's imprecise but stable in the
> long term (ie errors never _accumulate_, like the non-atomic case will
> do).
>
> Does anybody care enough? Maybe, maybe not. It certainly sounds a hell of
> a lot better than the periodic scan.
>

I think this sounds like it might be a good idea. I prefer it to having
the unbounded error of sloppy rss (as improbable as it may be in practice).

The per thread rss may wrap (maybe not 64-bit counters), but even so,
the summation over all threads should still end up being correct I
think.