Re: [PATCH] introduce get_mm_hiwater_xxx(), fixtaskstats->hiwater_xxx accounting

From: Balbir Singh
Date: Sat Dec 06 2008 - 03:48:59 EST


* Jay Lan <jlan@xxxxxxx> [2008-12-05 10:41:02]:

> Hugh Dickins wrote:
> > On Thu, 4 Dec 2008, Oleg Nesterov wrote:
> >> On 12/03, Hugh Dickins wrote:
> >>> On Wed, 3 Dec 2008, Oleg Nesterov wrote:
> >>>
> >>>> Unless we are going to decrease rss/vm there is no point to call the
> >>>> (racy) update_hiwater_xxx() helpers. Still do_exit() does this, and
> >>> I'm puzzled by this comment. exit() _is_ about to decrease rss/vm,
> >>> so isn't it right to be calling update_hiwater_xxx()?
> >> Do you mean exit_mm()->...->exit_mmap() ? But this doesn't matter, this
> >> ->mm is going away. Nobody can read these counters when ->mm_users == 0,
> >> no?
> >
> > I was conceding that point in my next sentence...
> >
> >>> There is a question of who's going to be able to see the result from
> >>> this point on: I forget whether I was doing it for my own satisfaction,
> >>> or for a real observer.
> >
> > I've looked back at it now: the hiwater fields already existed, their
> > updates were slowing things down, and nothing in tree was even looking
> > at the results; I changed the way they were updated to minimize the
> > slowdown.
> >
> > So my principal reason for putting the updates in do_exit() was simply
> > that there had been an update_mem_hiwater(tsk) there in do_exit(), and
> > no examples of how the results would get used, so I thought I'd better
> > update them there too.
>
> Add Jonathan Lim to cc. He is responsible for CSA. The applications
> using those data are running at user space through the taskstats
> interface. That was the whole point of creating taskstats interface:
> move accounting modules to user space.

Yes, true and getdelays can display all the exported information.

The race does seem concerning, I would vote for keeping the update in
there and disabling preemption around the update, so that hiwater
cannot swing back and forth.

--
Balbir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/