Re: Rusty's module talk at the Kernel Summit

Daniel Phillips
2002-07-11T18:26:36Z

On Thursday 11 July 2002 19:37, Roman Zippel wrote:
> Hi,
>
> On Thu, 11 Jul 2002, Daniel Phillips wrote:
>
> > Closing the rmmod race with this interface is easy. We can for example just
> > keep a state variable in the module struct (protected by a lock) to say the
> > module is in the process of being deregistered.
>
> Please check try_inc_mod_count(). It's already done.

It's a good start, but it's not quite right. Deregister_filesystem has to be
the authority on whether the module can be deleted or not, and there's no
interface for that at the moment. Also, the mod_count is actually irrelevant
here, what matters is whether deregister_filesystem thinks the module can be
removed. Finally, it's not enough to flag only the 'removing module' state,
the 'inserting module' state has to be flagged as well[1]. The latter may
well be flagged in some way in the existing code, I did not dig in to find
out, but even so, we'd hardly have the thing in its simplest possible form.

In short, it's close to the truth, but it's not quite there in its current
form. Al said as much himself.

[1] It's possible that only a single bit of state is needed, 'busy'. I don't
know, I stopped thinking about this when it became clear a fix is coming down
the pipe.

--
Daniel