Re: deferred rss update instead of sloppy rss

Nick Piggin
2004-11-22T23:09:34Z

Christoph Lameter wrote:
> On Mon, 22 Nov 2004, Andrew Morton wrote:
>
>
>>>The page fault code only increments rss. For larger transactions that
>>>increase / decrease rss significantly the page_table_lock is taken and
>>>mm->rss is updated directly. So no
>>>gross inaccuracies can result.
>>
>>Sure. Take a million successive pagefaults and mm->rss is grossly
>>inaccurate. Hence my suggestion that it be spilled into mm->rss
>>periodically.
>
>
> It is spilled into mm->rss periodically. That is the whole point of the
> patch.
>
> The timer tick occurs every 1 ms. The maximum pagefault frequency that I
> have seen is 500000 faults /second. The max deviation is therefore
> less than 500 (could be greater if page table lock / mmap_sem always held
> when the tick occurs).

You could imagine a situation where something pagefaults and sleeps in
lock-step with the timer though. Theoretical problem only?

I think that by the time you get the spilling code in, the mm-list method
will be looking positively elegant!