public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Linus Torvalds <torvalds@osdl.org>,
	Maneesh Soni <maneesh@in.ibm.com>, Andrew Morton <akpm@osdl.org>,
	stern@rowland.harvard.edu, David Brownell <david-b@pacbell.net>,
	viro@math.psu.edu,
	Linux-USB <linux-usb-devel@lists.sourceforge.net>,
	Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: [linux-usb-devel] [PATCH] back out sysfs reference count change
Date: Wed, 31 Mar 2004 22:55:34 -0800	[thread overview]
Message-ID: <20040401065534.GD11655@kroah.com> (raw)
In-Reply-To: <1080784568.1435.37.camel@gaston>

On Thu, Apr 01, 2004 at 11:56:09AM +1000, Benjamin Herrenschmidt wrote:
> 
> > But that is impossible as has already been pointed out by Alan Stern.
> > If a module creates a kobject, how can the module_exit() function ever
> > be called if that kobject incremented the module reference count?
> 
> I just had a loooong discussion with Rusty on that subject, it's
> indeed a nasty one.

Ah, he sucks another person into the "module unload" discussion.  My
sympathies :)

> The problem is that the real solution is to
> change the module unload semantics. Regardless of the count, module
> exit should be called, and the actual unload (and eventually calling
> an additional module "release" function) then should only happen
> once the count is down to 0. That means that rmmod would block forever
> if the driver is opened, but that is just something that needs to be
> known.
> 
> But that's not something we'll do for 2.6. For that to work, it also
> need various subsystem unregister_* (netdev etc...) functions to not
> error when the device is opened, just prevent new opens, and operate
> asynchronously (freeing data structures on kobject release) etc...

I agree, it's a difficult problem to solve, and something we aren't
going to do for 2.6.  That's one reason why module unload is its own
config option :)

Anyway, Rusty's proposal of "never unload, just mark not used" and then
load a new copy into memory that he did during the OLS timeframe last
year sounds like the only sane way to get this completely correct, with
the trade off of never releasing memory.

thanks,

greg k-h

  parent reply	other threads:[~2004-04-01  7:12 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20040328063711.GA6387@kroah.com>
     [not found] ` <Pine.LNX.4.44L0.0403281057100.17150-100000@netrider.rowland.org>
     [not found]   ` <20040328123857.55f04527.akpm@osdl.org>
     [not found]     ` <20040329210219.GA16735@kroah.com>
     [not found]       ` <20040329132551.23e12144.akpm@osdl.org>
2004-03-29 23:16         ` Unregistering interfaces Greg KH
2004-03-29 23:31           ` Andrew Morton
2004-03-30  0:01             ` Greg KH
2004-03-30  7:38               ` Maneesh Soni
2004-03-30 15:38               ` Alan Stern
2004-03-30  5:51             ` Maneesh Soni
2004-03-30 23:01               ` Greg KH
2004-03-30 23:16                 ` Andrew Morton
2004-03-30 23:30                   ` Greg KH
2004-03-30 23:57                     ` Greg KH
2004-03-30 23:56                   ` Alan Stern
2004-03-31  0:08                     ` David Brownell
2004-03-31  0:34                       ` Greg KH
2004-03-31 15:32                       ` Alan Stern
2004-03-31  0:33                     ` Greg KH
2004-03-31 15:54                       ` Alan Stern
2004-04-01  7:24                         ` Greg KH
2004-03-30 23:55                 ` [PATCH] back out sysfs reference count change Greg KH
2004-03-31  2:11                   ` [linux-usb-devel] " Benjamin Herrenschmidt
2004-03-31  2:19                     ` Andrew Morton
2004-03-31  9:26                       ` Maneesh Soni
2004-03-31 15:11                         ` Alan Stern
2004-04-01  5:17                           ` Maneesh Soni
2004-04-01  7:15                             ` Greg KH
2004-04-01 14:56                             ` Alan Stern
2004-04-02  4:38                               ` Maneesh Soni
2004-04-02 21:41                                 ` Alan Stern
2004-04-06 10:13                                   ` Maneesh Soni
2004-04-06 17:03                                     ` Alan Stern
2004-04-14 13:20                                     ` Maneesh Soni
2004-04-15 21:36                                       ` Greg KH
2004-04-15 22:10                                         ` Andrew Morton
2004-04-16  8:42                                           ` Maneesh Soni
2004-03-31 22:18                     ` Greg KH
2004-04-01  1:56                       ` Benjamin Herrenschmidt
2004-04-01  3:48                         ` Alan Stern
2004-04-01  6:55                         ` Greg KH [this message]
2004-04-01  7:13                           ` Benjamin Herrenschmidt

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=20040401065534.GD11655@kroah.com \
    --to=greg@kroah.com \
    --cc=akpm@osdl.org \
    --cc=benh@kernel.crashing.org \
    --cc=david-b@pacbell.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=maneesh@in.ibm.com \
    --cc=stern@rowland.harvard.edu \
    --cc=torvalds@osdl.org \
    --cc=viro@math.psu.edu \
    /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