Re: deferred rss update instead of sloppy rss

Benjamin Herrenschmidt
2004-11-22T22:17:24Z

On Mon, 2004-11-22 at 14:13 -0800, Christoph Lameter wrote:
> On Mon, 22 Nov 2004, Andrew Morton wrote:
>
> > hrm. I cannot see anywhere in this patch where you update task_struct.rss.
>
> This is just the piece around it dealing with rss. The updating of rss
> happens in the generic code. The change to that is trivial. I can repost
> the whole shebang if you want.
>
> > > + /* only holding mmap_sem here maybe get page_table_lock too? */
> > > + mm->rss += tsk->rss;
> > > + tsk->rss = 0;
> > > up_read(&mm->mmap_sem);
> >
> > mmap_sem needs to be held for writing, surely?
>
> If there are no page faults occurring anymore then we would not need to
> get the lock. Q: Is it safe to assume that no faults occur
> anymore at this point?

Why wouldn't the mm take faults on other CPUs ? (other threads)

> > just to prevent transient gross inaccuracies. For some value of "16".
>
> 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.
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org. For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: aart@kvack.org
--
Benjamin Herrenschmidt <benh@kernel.crashing.org>