From: Oliver Neukum <Oliver.Neukum@lrz.uni-muenchen.de>
To: linux-hotplug@vger.kernel.org
Subject: Re: Adding PCMCIA support to the kernel tree -- developers needed.
Date: Sun, 04 Feb 2001 18:16:00 +0000 [thread overview]
Message-ID: <marc-linux-hotplug-98140288114247@msgid-missing> (raw)
In-Reply-To: <marc-linux-hotplug-98118528107653@msgid-missing>
> Module startup automatically calls init then register. Conditional
> shutdown checks for zero use count, calls unregister then flushes any
> other cpus that had just entered the module. If the flush was
Flushing ? How ?
> successful, call exit. If the flush was unsuccessful (somebody just
> started using the module), call register to make the services available
> again.
Doing so means that there's a time where the device is unregistered
illegitimately. Wouldn't it be simpler to take the big kernel lock for the
check ? The unregistering would have to take it anyway.
> There is also an unconditional shutdown mode. Call unregister and even
> if the module is still in use, do not call register again. When the
> use count finally goes to zero, the exit routine is called and the
> module is removed.
This is definitely needed, but why two calls for that ? It would be easier to
provide a callback to be called when the use count reaches zero.
> I think this will help hot unplugging. When the device disappears, the
> driver internally marks its hardware as unusable and schedules an
> unconditional shutdown of itself, all out of the interrupt handler.
Is that really necessary ? Can't a kernel thread be used ? It is much easier
than coding in interrupt.
> Unconditional shutdown calls unregister which stops any new code
> entering the module. The driver returns -EIO for all outstanding
> requests which will eventually result in the outstanding users calling
> close() or its equivalent and leaving the module. When the use count
> finally goes to zero, exit releases the resources and the module is
> removed. For built in code we do almost the same, the only difference
> is that built in code is not removed from memory.
That is wise.
Regards
Oliver
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
next prev parent reply other threads:[~2001-02-04 18:16 UTC|newest]
Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-02-03 7:28 Adding PCMCIA support to the kernel tree -- developers needed Miles Lane
2001-02-03 10:07 ` Jeff Garzik
2001-02-03 19:27 ` David Woodhouse
2001-02-03 23:59 ` Miles Lane
2001-02-04 0:00 ` David Hinds
2001-02-04 0:05 ` David Woodhouse
2001-02-04 1:19 ` David Brownell
2001-02-04 1:58 ` Miles Lane
2001-02-04 3:26 ` Keith Owens
2001-02-04 5:59 ` Miles Lane
2001-02-04 8:56 ` David Hinds
2001-02-04 9:55 ` David Woodhouse
2001-02-04 10:00 ` David Woodhouse
2001-02-04 10:10 ` Oliver Neukum
2001-02-04 10:53 ` David Woodhouse
2001-02-04 11:37 ` David Woodhouse
2001-02-04 17:34 ` David Hinds
2001-02-04 18:02 ` Miles Lane
2001-02-04 18:16 ` Oliver Neukum [this message]
2001-02-04 18:54 ` Miles Lane
2001-02-05 1:14 ` Jeff Garzik
2001-02-05 1:56 ` David Brownell
2001-02-05 2:43 ` Miles Lane
2001-02-05 8:42 ` Miles Lane
2001-02-05 10:01 ` Keith Owens
2001-02-05 10:13 ` Keith Owens
2001-02-05 23:43 ` David Woodhouse
2001-02-05 23:45 ` David Woodhouse
2001-02-05 23:59 ` Oliver Neukum
2001-02-06 0:27 ` Miles Lane
2001-02-06 1:10 ` David Brownell
2001-02-06 1:40 ` David Brownell
2001-02-06 6:55 ` Miles Lane
2001-02-06 7:11 ` David Woodhouse
2001-02-06 7:58 ` David Hinds
2001-02-06 8:02 ` David Hinds
2001-02-06 8:13 ` David Hinds
2001-02-06 9:51 ` Oliver Neukum
2001-02-06 13:46 ` Andrew Morton
2001-02-06 15:15 ` Jeff Garzik
2001-02-06 15:20 ` David Woodhouse
2001-02-06 15:33 ` Oliver Neukum
2001-02-06 15:35 ` David Woodhouse
2001-02-06 15:54 ` Oliver Neukum
2001-02-06 16:43 ` Jeff Garzik
2001-02-06 18:56 ` David Brownell
2001-02-06 19:22 ` David Brownell
2001-02-06 19:31 ` David Brownell
2001-02-06 22:09 ` Adam J. Richter
2001-02-06 22:10 ` Andrew Morton
2001-02-06 22:50 ` Oliver Neukum
2001-02-06 23:07 ` Andrew Morton
2001-02-06 23:12 ` Andrew Morton
2001-02-06 23:14 ` Andrew Morton
2001-02-06 23:20 ` David Woodhouse
2001-02-06 23:30 ` Oliver Neukum
2001-02-06 23:34 ` Oliver Neukum
2001-02-06 23:36 ` Andrew Morton
2001-02-07 1:33 ` David Brownell
2001-02-07 2:11 ` Miles Lane
2001-02-07 2:38 ` Adam J. Richter
2001-02-07 9:02 ` Oliver Neukum
2001-02-07 9:09 ` Vojtech Pavlik
2001-02-07 9:10 ` David Woodhouse
2001-02-07 9:35 ` Oliver Neukum
2001-02-07 9:37 ` Vojtech Pavlik
2001-02-07 9:57 ` Oliver Neukum
2001-02-07 10:11 ` Vojtech Pavlik
2001-02-07 10:27 ` David Woodhouse
2001-02-07 10:29 ` Oliver Neukum
2001-02-07 10:30 ` David Woodhouse
2001-02-07 14:45 ` Oliver Neukum
2001-02-07 15:19 ` Adam J. Richter
2001-02-07 16:11 ` Oliver Neukum
2001-02-07 17:37 ` Miles Lane
2001-02-07 17:48 ` Vojtech Pavlik
2001-02-07 18:24 ` David Brownell
2001-02-07 18:42 ` David Brownell
2001-02-07 18:47 ` David Brownell
2001-02-07 18:47 ` Oliver Neukum
2001-02-07 19:00 ` David Brownell
2001-02-07 19:29 ` Vojtech Pavlik
2001-02-07 19:59 ` Miles Lane
2001-02-07 21:02 ` Oliver Neukum
2001-02-07 21:14 ` David Brownell
2001-02-07 22:43 ` Oliver Neukum
2001-02-08 7:22 ` Miles Lane
2001-02-08 9:29 ` Adam J. Richter
2001-02-08 10:24 ` Oliver Neukum
2001-02-08 12:47 ` Andrew Morton
2001-02-08 13:22 ` Oliver Neukum
2001-02-08 13:49 ` Andrew Morton
2001-02-08 14:07 ` Oliver Neukum
2001-02-08 15:00 ` Vojtech Pavlik
2001-02-08 15:10 ` Vojtech Pavlik
2001-02-08 15:13 ` Vojtech Pavlik
2001-02-09 7:42 ` Vojtech Pavlik
2001-02-09 11:48 ` Oliver Neukum
2001-02-09 12:45 ` Vojtech Pavlik
2001-02-09 13:09 ` Oliver Neukum
2001-02-09 14:15 ` David Brownell
2001-02-09 15:45 ` Vojtech Pavlik
2001-02-26 17:47 ` David Brownell
2001-02-26 21:45 ` Chris Brand
2001-02-27 7:56 ` David Hinds
2001-02-28 16:56 ` David Brownell
2001-02-28 17:32 ` David Hinds
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=marc-linux-hotplug-98140288114247@msgid-missing \
--to=oliver.neukum@lrz.uni-muenchen.de \
--cc=linux-hotplug@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;
as well as URLs for NNTP newsgroup(s).