From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
To: dtor_core@ameritech.net
Cc: Christoph Hellwig <hch@infradead.org>,
Andrew Morton <akpm@osdl.org>,
greg@kroah.com, linux-kernel@vger.kernel.org
Subject: Re: 2.6.11-rc2-mm1
Date: Wed, 26 Jan 2005 17:44:51 +0300 [thread overview]
Message-ID: <1106750691.5257.151.camel@uganda> (raw)
In-Reply-To: <d120d50005012605323111927a@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2223 bytes --]
On Wed, 2005-01-26 at 08:32 -0500, Dmitry Torokhov wrote:
> On Wed, 26 Jan 2005 11:31:07 +0300, Evgeniy Polyakov
> <johnpol@2ka.mipt.ru> wrote:
> > On Tue, 2005-01-25 at 22:42 +0000, Christoph Hellwig wrote:
> > > > Yes, and it is better than removing module whose structures are in use.
> > > > SuperIO core is asynchronous in it's nature, one can use logical device
> > > > through superio core and remove it's module on other CPU, above loop
> > > > will
> > > > wait untill all reference counters are dropped.
> > >
> > > General rule is: increment module reference count while the hardware
> > > is actually in use, and let device structures be allocated by the
> > > bus core so drivers can be freed with them still allocated. That's
> > > how the driver model and thus about every other subsystem works.
> >
> > It is not general rule - network stack does not have such mechanism,
> > which is
> > very good, I doubt each block device module increment it's module
> > reference
> > when it catch a request...
> > It is internal structure that has reference counter, not module itself,
> > and this
> > structure may be in use, when module is unloaded, thus unloading must
> > wait,
> > untill all it's structures are freed.
> >
>
> No, it does not necessarily has to wait. You can unload driver at any
> time if you care to mark all its devices as "dead" and you have
> generic release function in a separate module that does not get
> unloaded until last registered device has been destroyed. Look for
> example at serio code. I think USB is about the same.
>
It is only because those structures can live outside the driver.
Like skb can live without even any network driver loaded.
Above case is similar, but structure is binded to the module, and can
be
requested outside the world.
Consider as example network stack:
netdev_wait_allrefs() waits until all references are gone, it is
called
when device has NETREG_UNREGISTERING state.
Very clean example is virtual devices here(tunnels, vlan) - it is
exactly the same
as logical/superio devices in superio core.
--
Evgeniy Polyakov
Crash is better than data corruption -- Arthur Grabowski
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-01-26 14:41 UTC|newest]
Thread overview: 152+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-18 7:21 [PATCH] Some fixes for compat ioctl Andi Kleen
2005-01-18 10:34 ` Michael S. Tsirkin
2005-01-18 10:45 ` [PATCH 1/5] compat_ioctl call seems to miss a security hook Michael S. Tsirkin
2005-01-18 19:22 ` Chris Wright
2005-01-20 0:28 ` Michael S. Tsirkin
2005-01-20 0:43 ` Chris Wright
2005-01-20 1:06 ` Michael S. Tsirkin
2005-01-20 1:16 ` Chris Wright
2005-01-20 1:42 ` Michael S. Tsirkin
2005-01-18 10:48 ` [PATCH 2/5] socket ioctl fix (from Andi) Michael S. Tsirkin
2005-01-18 10:55 ` Christoph Hellwig
2005-01-18 11:01 ` Andi Kleen
2005-01-18 10:52 ` [PATCH 3/5] make common ioctls apply for compat Michael S. Tsirkin
2005-01-18 10:57 ` [PATCH 4/5] reminder comment about register_ioctl32_conversion Michael S. Tsirkin
2005-01-18 11:04 ` [PATCH 5/5] symmetry between compat_ioctl and unlocked_ioctl Michael S. Tsirkin
2005-01-24 10:15 ` 2.6.11-rc2-mm1 Andrew Morton
2005-01-24 10:36 ` 2.6.11-rc2-mm1 Adrian Bunk
2005-01-24 11:17 ` 2.6.11-rc2-mm1: v4l-saa7134-module compile error Adrian Bunk
2005-01-24 13:57 ` Gerd Knorr
2005-01-24 17:45 ` Adrian Bunk
2005-01-25 10:15 ` Gerd Knorr
2005-01-25 10:38 ` Adrian Bunk
2005-01-24 11:56 ` 2.6.11-rc2-mm1 Brice Goglin
2005-01-24 13:41 ` 2.6.11-rc2-mm1 Brice Goglin
2005-01-24 14:35 ` 2.6.11-rc2-mm1 Florian Bohrer
2005-01-24 18:52 ` 2.6.11-rc2-mm1 Dave Jones
2005-01-24 20:44 ` 2.6.11-rc2-mm1 Dave Jones
2005-01-24 21:31 ` 2.6.11-rc2-mm1 Brice Goglin
2005-01-25 19:38 ` 2.6.11-rc2-mm1 Dave Jones
2005-01-25 19:58 ` 2.6.11-rc2-mm1 Brice Goglin
2005-01-25 20:29 ` 2.6.11-rc2-mm1 Dave Jones
2005-01-24 12:12 ` 2.6.11-rc2-mm1 Christoph Hellwig
2005-01-24 20:36 ` 2.6.11-rc2-mm1 Karsten Keil
2005-01-24 23:26 ` 2.6.11-rc2-mm1 Christoph Hellwig
2005-01-25 0:35 ` 2.6.11-rc2-mm1 Karsten Keil
2005-01-24 23:32 ` 2.6.11-rc2-mm1 Bartlomiej Zolnierkiewicz
2005-01-24 21:03 ` 2.6.11-rc2-mm1 Andrew Morton
2005-01-24 12:17 ` 2.6.11-rc2-mm1 Christoph Hellwig
2005-01-31 22:42 ` [patch] generic notification layer Robert Love
2005-02-07 11:57 ` 2.6.11-rc2-mm1 Ingo Molnar
2005-02-07 17:30 ` 2.6.11-rc2-mm1 Robert Love
2005-02-07 21:02 ` 2.6.11-rc2-mm1 John McCutchan
2005-01-24 12:25 ` [-mm patch] fix SuperIO compilation Adrian Bunk
2005-01-24 12:34 ` Christoph Hellwig
2005-01-24 13:04 ` Evgeniy Polyakov
2005-01-24 13:56 ` Evgeniy Polyakov
2005-01-24 14:14 ` [1/1] superio: remove unneded exports and make some functions static Evgeniy Polyakov
2005-01-25 6:19 ` Greg KH
2005-01-24 12:48 ` 2.6.11-rc2-mm1: DVB compile error Adrian Bunk
2005-01-24 23:56 ` [linux-dvb-maintainer] " Johannes Stezenbach
2005-01-24 13:52 ` 2.6.11-rc2-mm1 Roman Zippel
2005-01-24 14:24 ` 2.6.11-rc2-mm1 Christoph Hellwig
2005-01-24 14:58 ` 2.6.11-rc2-mm1 Benoit Boissinot
2005-01-24 15:11 ` 2.6.11-rc2-mm1 [compile fix] Benoit Boissinot
2005-01-24 17:25 ` Adrian Bunk
2005-01-24 17:54 ` 2.6.11-rc2-mm1: SuperIO scx200 breakage Adrian Bunk
2005-01-24 18:43 ` Evgeniy Polyakov
2005-01-24 18:29 ` Adrian Bunk
2005-01-24 19:19 ` Evgeniy Polyakov
2005-01-24 19:03 ` Adrian Bunk
2005-01-24 19:46 ` Evgeniy Polyakov
2005-01-24 18:41 ` Jurriaan
2005-01-24 19:23 ` Evgeniy Polyakov
2005-01-24 19:05 ` Adrian Bunk
2005-01-24 19:39 ` Evgeniy Polyakov
2005-01-24 19:32 ` Dmitry Torokhov
2005-01-24 20:28 ` Evgeniy Polyakov
2005-01-27 15:19 ` Bill Davidsen
2005-01-27 16:21 ` Evgeniy Polyakov
2005-01-27 23:12 ` Bill Davidsen
2005-01-24 20:33 ` Christoph Hellwig
2005-01-24 21:10 ` Evgeniy Polyakov
2005-01-24 21:34 ` Greg KH
2005-01-24 21:47 ` Christoph Hellwig
2005-01-25 6:02 ` Greg KH
2005-01-25 7:11 ` Christoph Hellwig
2005-01-25 18:59 ` Jean Delvare
2005-01-25 21:39 ` Evgeniy Polyakov
2005-01-25 21:40 ` Jean Delvare
2005-01-25 22:35 ` Evgeniy Polyakov
2005-01-26 9:55 ` Jean Delvare
2005-01-26 10:55 ` Evgeniy Polyakov
2005-01-26 14:34 ` Jean Delvare
2005-01-26 16:10 ` Evgeniy Polyakov
2005-01-26 19:20 ` Jean Delvare
2005-01-26 20:21 ` Evgeniy Polyakov
2005-01-26 10:14 ` Christoph Hellwig
2005-01-26 10:59 ` Evgeniy Polyakov
2005-01-26 14:00 ` Dmitry Torokhov
2005-01-26 16:38 ` Evgeniy Polyakov
2005-01-26 18:19 ` Adrian Bunk
2005-01-26 19:27 ` Evgeniy Polyakov
2005-01-27 10:20 ` Adrian Bunk
2005-01-27 11:53 ` Evgeniy Polyakov
2005-01-26 18:06 ` Adrian Bunk
2005-01-26 13:12 ` Russell King
2005-01-26 20:01 ` Christoph Hellwig
2005-01-24 18:58 ` 2.6.11-rc2-mm1 Benoit Boissinot
2005-01-24 19:09 ` 2.6.11-rc2-mm1 Adrian Bunk
2005-01-24 19:44 ` 2.6.11-rc2-mm1 - fix a typo in nfs3proc.c Benoit Boissinot
2005-01-24 20:24 ` 2.6.11-rc2-mm1 - compile fix Benoit Boissinot
2005-01-24 20:26 ` [PATCH] move common compat ioctls to hash Michael S. Tsirkin
2005-01-25 6:17 ` Andi Kleen
2005-01-26 8:40 ` Michael S. Tsirkin
2005-01-25 0:03 ` 2.6.11-rc2-mm1: fuse patch needs new libs Sytse Wielinga
2005-01-25 7:31 ` Miklos Szeredi
2005-01-27 15:45 ` Bill Davidsen
2005-01-27 15:56 ` Sytse Wielinga
2005-01-27 16:11 ` Miklos Szeredi
2005-01-27 18:09 ` Christoph Hellwig
2005-01-25 1:01 ` 2.6.11-rc2-mm1 Brice Goglin
2005-01-25 1:30 ` 2.6.11-rc2-mm1 (AE_AML_NO_OPERAND) Len Brown
2005-01-25 18:41 ` 2.6.11-rc2-mm1 Pavel Machek
2005-01-25 19:10 ` 2.6.11-rc2-mm1 Espen Fjellvær Olsen
2005-01-25 12:53 ` 2.6.11-rc2-mm1 Christoph Hellwig
2005-01-25 14:11 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-25 14:23 ` 2.6.11-rc2-mm1 Christoph Hellwig
2005-01-25 15:24 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-25 15:34 ` 2.6.11-rc2-mm1 Bartlomiej Zolnierkiewicz
2005-01-25 16:04 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-25 18:21 ` 2.6.11-rc2-mm1 Jörn Engel
2005-01-25 21:17 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-26 2:20 ` 2.6.11-rc2-mm1 Jörn Engel
2005-01-25 15:36 ` 2.6.11-rc2-mm1 Paulo Marques
2005-01-25 21:08 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-25 16:11 ` 2.6.11-rc2-mm1 Dmitry Torokhov
2005-01-25 21:14 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-26 4:57 ` 2.6.11-rc2-mm1 Dmitry Torokhov
2005-01-26 8:25 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-26 13:46 ` 2.6.11-rc2-mm1 Dmitry Torokhov
2005-01-26 14:59 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-26 15:26 ` 2.6.11-rc2-mm1 Dmitry Torokhov
2005-01-26 15:54 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-26 16:25 ` 2.6.11-rc2-mm1 Dmitry Torokhov
2005-01-26 16:46 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-26 16:55 ` 2.6.11-rc2-mm1 Dmitry Torokhov
2005-01-26 17:39 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-26 18:26 ` 2.6.11-rc2-mm1 Dmitry Torokhov
2005-01-26 20:07 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-26 20:22 ` 2.6.11-rc2-mm1 Dmitry Torokhov
2005-01-27 17:33 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-25 22:42 ` 2.6.11-rc2-mm1 Christoph Hellwig
2005-01-26 8:31 ` 2.6.11-rc2-mm1 Evgeniy Polyakov
2005-01-26 13:32 ` 2.6.11-rc2-mm1 Dmitry Torokhov
2005-01-26 14:44 ` Evgeniy Polyakov [this message]
2005-01-25 19:35 ` 2.6.11-rc2-mm1 Pavel Machek
2005-01-25 19:12 ` 2.6.11-rc2-mm1 Marcos D. Marado Torres
2005-01-25 23:07 ` 2.6.11-rc2-mm1 Barry K. Nathan
2005-01-26 2:40 ` 2.6.11-rc2-mm1 William Lee Irwin III
2005-01-26 4:44 ` [PATCH] ppc64: fix use kref for device_node refcounting Nathan Lynch
2005-01-27 6:18 ` 2.6.11-rc2-mm1 William Lee Irwin III
2005-01-27 9:14 ` 2.6.11-rc2-mm1 William Lee Irwin III
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=1106750691.5257.151.camel@uganda \
--to=johnpol@2ka.mipt.ru \
--cc=akpm@osdl.org \
--cc=dtor_core@ameritech.net \
--cc=greg@kroah.com \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
/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