On Tue, Jan 17, 2006 at 10:59:02PM +0300, Oleg Nesterov wrote: > Ravikiran G Thirumalai wrote: > > > > Sorry for the delay.. > > > > On Tue, Jan 10, 2006 at 10:03:35PM +0300, Oleg Nesterov wrote: > > > > > > Sorry, I can't undestand. Could you please be more verbose ? > > > > Last thread (RUSAGE_SELF) Exiting thread > > > > [ ... ] > > > > utime = cputime_add(utime, p->signal->utime); /* use cached load above */ > > stime = cputime_add(stime, p->signal->stime); /* load from memory */ > > Thanks for your explanation, now I see what you mean. > > But don't we already discussed this issue? I think that RUSAGE_SELF > case always not 100% accurate, so it is Ok to ignore this race. It is not 100% accurate as in we lose time accounting for one clock tick for the task_struct->utime, stime counters. But task_struct->signal->utime,stime collect rusage times of an exiting thread, so we would be introducing large inaccuracies if we don't use rmb here. Take the case when an exiting thread has a large utime stime value, and rusage reports utime before thread exit and stime after thread exit... the result would look wierd. So IMHO, while inaccuracies in task_struct->xxx time can be tolerated, it might not be such a good idea to for task_struct->signal->xxx counters. Thanks, Kiran - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- From: Oleg Nesterov <oleg@tv-sign.ru>
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- References:
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- From: Ravikiran G Thirumalai <kiran@scalex86.org>
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- From: Oleg Nesterov <oleg@tv-sign.ru>
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- From: Ravikiran G Thirumalai <kiran@scalex86.org>
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- From: Oleg Nesterov <oleg@tv-sign.ru>
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- From: Ravikiran G Thirumalai <kiran@scalex86.org>
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- From: Oleg Nesterov <oleg@tv-sign.ru>
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- From: Ravikiran G Thirumalai <kiran@scalex86.org>
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- From: Oleg Nesterov <oleg@tv-sign.ru>
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- From: Ravikiran G Thirumalai <kiran@scalex86.org>
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- From: Oleg Nesterov <oleg@tv-sign.ru>
- Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- Prev by Date: Re: Race in new page migration code?
- Next by Date: Re: Linux 2.6.16-rc1 - hrtimer hotfix
- Previous by thread: Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- Next by thread: Re: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
- Index(es):
![]() |