From: David Brownell <david-b@pacbell.net>
To: linux-hotplug@vger.kernel.org
Subject: Re: Adding PCMCIA support to the kernel tree -- developers needed.
Date: Tue, 06 Feb 2001 19:22:53 +0000 [thread overview]
Message-ID: <marc-linux-hotplug-98149509514620@msgid-missing> (raw)
In-Reply-To: <marc-linux-hotplug-98118528107653@msgid-missing>
> From: "Jeff Garzik" <jgarzik@mandrakesoft.com>
> Andrew Morton wrote:
> > David Woodhouse wrote:
> > >
> > > Er... we can wait for arbitrary lengths of time in execve(). So events
> > > aren't serialised anyway, and cannot be if you report them by running a
> > > userspace helper like this. You'd have to have a queue which is read by a
> > > single userspace process (which could perhaps be spawned when the queue
> > > becomes non-empty).
> >
> > I don't really understand why the /sbin/hotplug callout exists
> > at all. If instead the kernel were to spit the event strings
> > out of some FIFO device (character special or whatever) then
> > hotplugd can perform all its actions nice and serially.
One reason was to get rid of the added system costs of creating
such a FIFO, creating a "hotplugd", then operating both of them
(tying down system resources). After all, the kernel already has
parsed event data in hand, and it's always going to be cheaper to
allocate the hotplug agent resources for short periods than to
keep them allocated at all times (order of 100 KBytes).
The first implementation was a way to get _away_ from yet
another user mode daemon, and its costs. The tradeoff was
some simple kernel code (less than 512 bytes) against some
complex kernel code to create/manage such a FIFO, and
even more code to decode the FIFO data and call the same
user mode agent the kernel could call directly.
> > Plus we can buffer all the "insertion events" which occur
> > from boot-time scanning so they're available when hotplugd
> > starts up.
>
> I had been thinking the same thing. I think Linus originally said "do
> it with /sbin/hotplug" and that's the way it went.
I don't recall Linus doing more than acknowledging that such
boot-time solutions were proven ("kudzu" on RedHat) and could
easily just call the same /sbin/hotplug "subroutine" used when
hotplugging.
He did come up with the name "/sbin/hotplug" as a generic
name that all kernel subsystems (not just USB :-) could use
to deliver hotplug notifications ... with specific reference to
2.4 supporting USB, PCI, and network hotplugging.
> My suggestion would be a ring buffer that includes a jiffy (or other)
> timestamp before each event. That way it would be trivial for a
> hotplugd to replay whatever events it missed...
Didn't "devfsd" rely on such a thing? But it only knows about
device files, not /proc/bus/* or network interfaces. Not relying
on "devfs" was another requirement for the original hotplug work,
but maybe that can be rethought for the 2.5 series.
- Dave
_______________________________________________
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-06 19:22 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
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 [this message]
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-98149509514620@msgid-missing \
--to=david-b@pacbell.net \
--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).