From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Piggin Date: Sat, 20 Nov 2004 01:07:51 +0000 Subject: Re: page fault scalability patch V11 [0/7]: overview Message-Id: <419E98E7.1080402@yahoo.com.au> List-Id: References: <419D581F.2080302@yahoo.com.au> <419D5E09.20805@yahoo.com.au> <1100848068.25520.49.camel@gaston> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Linus Torvalds Cc: Christoph Lameter , akpm@osdl.org, Benjamin Herrenschmidt , Hugh Dickins , linux-mm@kvack.org, linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org 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.