Re: deferred rss update instead of sloppy rss

Christoph Lameter
2004-11-22T22:13:06Z

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?

> 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.