From: Roman Zippel <zippel@linux-m68k.org>
To: Daniel Phillips <phillips@arcor.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [RFC] new module format
Date: Thu, 18 Jul 2002 12:01:09 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.44.0207181124010.28515-100000@serv> (raw)
In-Reply-To: <E17UyWI-0004fQ-00@starship>
Hi,
On Thu, 18 Jul 2002, Daniel Phillips wrote:
> But I don't see why this needs to be a two step process:
>
> module support calls mod->cleanup
> module code checks number of users
> if none, unregister all interfaces
> otherwise return -EBUSY
> if return wasn't -EBUSY, free all resources
So after you checked for users, someone starts using the module again,
before you were able to remove all interfaces -> OOPS.
This is exactly the reason why I prefer to make this explicit in the
module interface - the chances are higher to get this right.
> > It's possible to use the filesystem model, but it's unnecessary complex
> > and inflexible.
>
> What is the complex and inflexible part?
It has to work around the problem that cleanup_module() can't fail.
> > Another problem is that the more interfaces a module has (e.g. proc), the
> > harder it becomes to unload a module (or the easier it becomes to prevent
> > the unloading of a module).
>
> I don't see that this makes any difference at all.
It's currently impossible to force the unloading of a module, some user
can always keep a reference to the module. Even if you kill the process,
someone else can get a new reference, before you could unload the module.
> I'm proposing to add a return code to mod->cleanup (and pick a better
> name). Yes, every module will have to be fixed to use this interface, but
> why not?
I don't disagree, but if we break the module interface anyway, why don't
we clean it up properly?
(Patches that do that will follow shortly.)
> Anyway, you're proposing to do it backwards. We need to first ensure
> there are no users, then unregister the interfaces.
That's broken (see above).
bye, Roman
next prev parent reply other threads:[~2002-07-18 9:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-16 13:04 Roman Zippel
2002-07-17 18:54 ` Daniel Phillips
2002-07-17 20:12 ` Roman Zippel
2002-07-17 20:34 ` Daniel Phillips
2002-07-17 22:45 ` Roman Zippel
2002-07-17 23:47 ` Daniel Phillips
2002-07-18 10:01 ` Roman Zippel [this message]
2002-07-18 11:09 ` Daniel Phillips
2002-07-18 12:02 ` Roman Zippel
2002-07-18 12:13 ` Daniel Phillips
2002-07-19 8:42 ` Rusty Russell
2002-07-19 9:31 ` Roman Zippel
2002-07-20 4:13 ` Rusty Russell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.44.0207181124010.28515-100000@serv \
--to=zippel@linux-m68k.org \
--cc=linux-kernel@vger.kernel.org \
--cc=phillips@arcor.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®