[lkml]   [2000]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Module open() problems, Linux 2.4.0
    "Richard B. Johnson" wrote:
    > On Thu, 9 Nov 2000, Brian Gerst wrote:
    > > "Richard B. Johnson" wrote:
    > > >
    > > > `lsmod` shows that a device is open twice when using Linux-2.4.0-test9
    > > > when, in fact, it has been opened only once.
    > > >
    > > >
    > > > When the module is closed, the use-count goes to zero as expected.
    > > > However, a single open() causes the use-count to be 2.
    > >
    > > This is harmless. It is caused by a try_inc_mod_count(module) in the
    > > function calling device_open(), which is the proper way for module
    > > locking to be handled when not holding the BKL. You can keep the
    > > MOD_INC_USE_COUNT in the device driver for compatability with 2.2.
    > >
    > > Brian Gerst
    > This may be, as you say, "harmless". It is, however, a bug. The
    > reporting must be correct or large complex systems can't be
    > developed or maintained.
    > I had two persons, working nearly a week, trying to find out
    > what one of over 200 processes had a device open when only
    > one was supposed to have it opened. --Err we have to check
    > our work here. The fact that something "works" is not
    > sufficient.

    There is NO guarantee that module use count == device open count. Never
    has been, AFAIK. It just happens to work out that way on a lot of
    pre-2.4 code.

    The kernel is free to bump the module reference count up and down as it
    pleases. For example, if a driver creates a kernel thread, that will
    increase its module usage count by one, for the duration of the kernel
    thread's lifetime.

    The only rule is that you cannot unload a module until its use count it


    Jeff Garzik |
    Building 1024 | Would you like a Twinkie?
    MandrakeSoft |
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 12:45    [W:0.022 / U:8.272 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site