Messages in this thread | | | Date | Tue, 10 Apr 2012 09:33:38 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [PATCH] mm: sync rss-counters at the end of exit_mm() |
| |
(2012/04/10 7:03), Hugh Dickins wrote:
> On Mon, 9 Apr 2012, KOSAKI Motohiro wrote: >> On Mon, Apr 9, 2012 at 4:03 PM, Konstantin Khlebnikov >> <khlebnikov@openvz.org> wrote: >>> On task's exit do_exit() calls sync_mm_rss() but this is not enough, >>> there can be page-faults after this point, for example exit_mm() -> >>> mm_release() -> put_user() (for processing tsk->clear_child_tid). >>> Thus there may be some rss-counters delta in current->rss_stat. >> >> Seems reasonable. > > Yes, I think Konstantin has probably caught it; > but I'd like to hear confirmation from Markus. > >> but I have another question. Do we have any reason to >> keep sync_mm_rss() in do_exit()? I havn't seen any reason that thread exiting >> makes rss consistency. > > IIRC it's all about the hiwater_rss/maxrss stuff: we want to sync the > maximum rss into mm->hiwater_rss before it's transferred to signal->maxrss, > and later made visible to the user though getrusage(RUSAGE_CHILDREN,) - > does your reading confirm that? >
IIRC, sync_mm_rss() in do_exit() is for synchronizing rsscounter for taskacct. mm->maxrss is sent to listener by xacct_add_tsk(). It's needed to be synchronized before taskstat_exit()..
Hm, but, exit_mm() is placed after taskstat_exit().
Thanks, -Kame
| |