(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@xxxxxxxxxx> 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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>