linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: Gianni Tedesco <gianni@scaramanga.co.uk>
Cc: davem@redhat.com, arjanv@redhat.com, torvalds@transmeta.com,
	greg@kroah.com, linux-kernel@vger.kernel.org,
	alan@lxorguk.ukuu.org.uk
Subject: Re: [PATCH] Remove module reference counting.
Date: Sun, 27 Jul 2003 06:18:05 +1000	[thread overview]
Message-ID: <20030727184118.3D7872C003@lists.samba.org> (raw)
In-Reply-To: Your message of "25 Jul 2003 23:43:16 +0100." <1059172995.16255.6.camel@sherbert>

In message <1059172995.16255.6.camel@sherbert> you write:
> Wasn't the idea once banded about of a 2-stage unload that went
> something like:
> 
> 1. ->cleanup() - unregister IRQ handlers, timers, etc.
> 2. Quiesce the system
> 3. Safe to unload
> 
> surely if nothing is registered and all CPUs do a voluntary schedule()
> then there can be no chance of calling back in to the module.

Yes, I implemented this, even.  The problem is that the desired module
semantics are "unload if it'll work, otherwise do nothing and fail".
This means that you either get halfway through the cleanup function
and back out (which leaves the race where some interfaces to your
module is MIA for a while), or you hang forever if things are in use.

It's this "atomically check refcount and deregister" that
try_module_get() gives us, by effectively unregistering all the
modules' interfaces at once.

Rusty.
--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

  parent reply	other threads:[~2003-07-27 18:26 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-24 18:00 [PATCH] Remove module reference counting Rusty Russell
2003-07-25 17:47 ` David S. Miller
2003-07-27 18:50   ` Rusty Russell
2003-07-25 17:54 ` Greg KH
2003-07-25 19:11   ` Greg KH
2003-07-25 19:26 ` Stephen Hemminger
2003-07-25 19:32   ` Greg KH
2003-07-25 22:26   ` Rusty Russell
2003-07-26 19:31     ` Linus Torvalds
2003-07-26 19:37       ` Arjan van de Ven
2003-07-27  5:38         ` Aschwin Marsman
2003-07-27 11:10           ` Alan Cox
2003-07-27 11:09         ` Alan Cox
2003-07-27 19:34       ` Rusty Russell
2003-07-27 21:47         ` Arjan van de Ven
2003-07-28  0:01           ` Alan Cox
2003-07-28  0:12           ` Bill Nottingham
2003-07-28 11:38             ` Alan Cox
2003-07-29 20:33               ` Rusty Russell
2003-07-30  1:55                 ` Greg KH
2003-07-30 14:40                 ` Alan Cox
2003-07-28 11:40         ` Alan Cox
2003-07-28 18:11         ` Gianni Tedesco
2003-07-28 19:03           ` Mike Fedyk
2003-08-01  2:39         ` Linus Torvalds
2003-07-25 23:24   ` Alan Cox
2003-07-27 18:48     ` Rusty Russell
2003-07-25 22:43 ` Gianni Tedesco
2003-07-25 23:37   ` Bernd Eckenfels
2003-07-26 20:18   ` Rusty Russell [this message]
2003-07-28 11:51 ` Rahul Karnik
2003-07-28 23:13   ` Rusty Russell
2003-07-29  2:39     ` Rahul Karnik
2003-07-29  2:10 Perez-Gonzalez, Inaky

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=20030727184118.3D7872C003@lists.samba.org \
    --to=rusty@rustcorp.com.au \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=arjanv@redhat.com \
    --cc=davem@redhat.com \
    --cc=gianni@scaramanga.co.uk \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    /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;
as well as URLs for NNTP newsgroup(s).