lkml.org 
[lkml]   [2006]   [Jan]   [10]   [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()
    Ravikiran G Thirumalai wrote:
    >
    > On Mon, Jan 09, 2006 at 09:55:51PM +0300, Oleg Nesterov wrote:
    > > Ravikiran G Thirumalai wrote:
    > > >
    > > >
    > > > Don't we still need rmb for the RUSAGE_SELF case? we do not take the
    > > > siglock for rusage self and the non c* signal fields are written to
    > > > at __exit_signal...
    > >
    > > I think it is unneeded because RUSAGE_SELF case is "racy" anyway even
    > > if we held both locks, task_struct->xxx counters can change at any
    > > moment.
    > >
    > > But may be you are right.
    >
    > Hmm...access to task_struct->xxx has been racy, but accessing the
    > signal->* counters were not. What if read of the signal->utime was a
    > hoisted read and signal->stime was a read after the counter is updated?
    > This was not a possibility earlier no?

    Sorry, I can't undestand. Could you please be more verbose ?

    > >
    > > > What is wrong with optimizing by not taking the siglock in RUSAGE_BOTH
    > > > and RUSAGE_CHILDREN? I would like to add that in too unless I am
    > > > missing something and the optimization is incorrect.
    > >
    > > We can't have contention on ->siglock when need_lock == 0, so why should
    > > we optimize this case?
    >
    > We would be saving 1 buslocked operation in that case (on some arches), a
    > cacheline fetch for exclusive (since signal and sighand are on different memory
    > locations), and disabling/enabling onchip interrupts. But yes, this would be a
    > smaller optimization....Unless you have strong objections this can also
    > go in?

    I don't have strong objections, but I am not a maintainer.

    However, do you have any numbers or thoughts why this optimization
    can make any _visible_ effect?

    Oleg.
    -
    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-10 18:49    [W:0.024 / U:89.072 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site