From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Piggin Date: Mon, 22 Nov 2004 23:09:34 +0000 Subject: Re: deferred rss update instead of sloppy rss Message-Id: <41A271AE.7090802@yahoo.com.au> List-Id: References: <20041122141148.1e6ef125.akpm@osdl.org> <20041122144507.484a7627.akpm@osdl.org> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Christoph Lameter Cc: Andrew Morton , hugh@veritas.com, torvalds@osdl.org, benh@kernel.crashing.org, linux-mm@kvack.org, linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org 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!