[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090504074522.13f1ed77@infradead.org>
Date: Mon, 4 May 2009 07:45:22 -0700
From: Arjan van de Ven <arjan@...radead.org>
To: Alan Stern <stern@...land.harvard.edu>
Cc: James Bottomley <James.Bottomley@...senPartnership.com>,
David VomLehn <dvomlehn@...co.com>,
<linux-kernel@...r.kernel.org>, <akpm@...ux-foundation.org>,
<linux-usb@...r.kernel.org>, <greg@...ah.com>,
<linux-scsi@...r.kernel.org>, <netdev@...r.kernel.org>
Subject: Re: [PATCH 1/5] initdev:kernel: Asynchronously-discovered device
synchronization, v5
On Mon, 4 May 2009 10:30:06 -0400 (EDT)
Alan Stern <stern@...land.harvard.edu> wrote:
> On Sun, 3 May 2009, Arjan van de Ven wrote:
>
> > > Perhaps with some enterprise systems, it is preferred to have the
> > > system fail with an explicit error message rather than wait
> > > indefinitely...
> >
> > actually, in an enterprise system, you want to reboot.
> > The bootloader might boot a different kernel the next time
> > that is known to work.
> > (for example, the current kernel might have been booted with the
> > "once" grub option)
>
> Which makes it imperative that the system knows when all the block
> devices have been probed, so it can stop waiting.
>
> > > How does Arjan's async boot system tell use when all discovery is
> > > complete? AFAICS, it only tells you when all its async tasks are
> > > finished. But device discovery and registration sometimes use
> > > other asynchronous techniques which Arjan's code is unaware of.
> > > Examples: the USB khubd thread, the USB mass-storage scanning
> > > thread, and the SCSI async-scanning thread.
> >
> > for normal device probing we already have infrastructure though...
> > wait_for_device_probe, driver_probe_done and friends...
> > (the scsi scanning thread is being converted to the async
> > infrastructure btw)
> >
> > do we need to invent more ?
>
> I suppose the usb-storage scanning thread could also be converted to
> the async infrastructure, although I haven't heard of anybody working
> on it.
>
> But the USB hub driver's thread (khubd) cannot be converted. It is
> central to the discovery of USB-based block devices. How would you
> handle that?
take a ref in the driver_probe_done() sense, and release it when you
know you're done probing....
at that point all existing infrastructure will just work.
--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists