lkml.org 
[lkml]   [2006]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [rfc][patch] Avoid taking global tasklist_lock for single threadedprocess at getrusage()
    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/

    \
     
     \ /
      Last update: 2006-01-17 20:55    [W:0.027 / U:2.456 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site