[lkml]   [2002]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [OKS] Module removal
    Bill Davidsen wrote:
    > I think you have to do it with the use count, and there may well be
    > modules you can't remove safely.

    I agree, this is the correct and clean thing to do.

    It rather implies that any function in a module which calls
    MOD_{INC,DEC}_USE_COUNT should always be called from a non-module
    function which _itself_ protects the module from removal by temporarily
    bumping the use count.

    > But to add re-init code to modules,
    > define new ioctls to call it, etc, etc, doesn't seem satisfactory. I think
    > we really need to bump the use counter more carefully, to really know when
    > a module is in use, and when we can clear it out.
    > The smp case looks doable, the preempt case may be harder. I really like
    > the idea of simply queueing a remove and then doing it when the use count
    > drops to zero. But we have have to provide a "don't use" to keep new
    > things out. That's hard.

    That's already done in `try_inc_mod_count', it's just a bit slow. But
    arguably it's only impact is when you're getting a handle or creating an
    object, which is usually relatively slow anyway, such as opening a
    device or socket, or adding a firewall rule.

    The more I think about it, the more I think the `owner' thing in
    file_operations et al. is the right thing in all cases, and that Al Viro
    is right about the overhead being reasonable. Perhaps the interface
    could be made a little more generic (`{get,put}_module_reference'?), and
    double check the corner cases such as when a module is in "don't use"
    mode, blocking and scheduling a reload.

    -- Jamie
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:27    [W:0.022 / U:32.044 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site