lkml.org 
[lkml]   [2010]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: Is module refcounting racy?
    Date
    On Fri, 2 Apr 2010 02:25:59 am Linus Torvalds wrote:
    >
    > On Thu, 1 Apr 2010, Nick Piggin wrote:
    > >
    > > I think it can be done racelessly with my patch, which is not really too
    > > much overhead. I think if this is considered too much, then we should
    > > either fix code and preferably de-export and remove module_refcount from
    > > drivers, or remove module removal completely.
    >
    > I doubt your patch matters too much, but I like it conceptually and it
    > seems to be a nice basis for perhaps doing something clever in the long
    > run.
    >
    > [ ie avoiding the stop_machine and instead perhaps doing some optimistic
    > thing like "see if we seem to be unused right now, then unregister us,
    > and see - after unregistering - that the usage counts haven't increased,
    > and re-register if they have. ]

    I dislike that we can see spurious failure for some random try_module_get
    caller.

    But perhaps that's inherent in module removal: someone can miss out, and if
    you care, don't try to remove modules.

    And grepping for try_module_get() reveals a suspicious (growing) number of
    try_module_get(THIS_MODULE) which is almost always wrong. If we're not
    perfect, maybe we should aim for simple?

    > So I'd like to apply it as a "good improvement, even if module unloading
    > which is the only thing that _should_ care deeply should already be under
    > stop-machine".
    >
    > But I'd like an ack or two first.

    Yep.

    Acked-by: Rusty Russell <rusty@rustcorp.com.au>

    Cheers,
    Rusty.


    \
     
     \ /
      Last update: 2010-04-06 04:41    [W:0.021 / U:6.528 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site