User: Password:
|
|
Subscribe / Log in / New account

Re: USB storage no-boot regression (bisected)

From:  VomLehn <dvomlehn-FYB4Gu1CFyUAvxtiuMwx3w-AT-public.gmane.org>
To:  Mark Lord <lkml-gsilrlXbHYg-AT-public.gmane.org>
Subject:  Re: USB storage no-boot regression (bisected)
Date:  Wed, 15 Apr 2009 10:06:17 -0700
Message-ID:  <20090415170617.GA14485@cuplxvomd02.corp.sa.net>
Cc:  Alan Stern <stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz-AT-public.gmane.org>, Alan Cox <alan-qBU/x9rampVanCEyBjwyrvXRex20P6io-AT-public.gmane.org>, Greg KH <greg-U8xfFu+wG4EAvxtiuMwx3w-AT-public.gmane.org>, Jeff Garzik <jeff-o2qLIJkoznsdnm+yROfE0A-AT-public.gmane.org>, Linux USB kernel mailing list <linux-usb-u79uwXL29TY76Z2rM5mHXA-AT-public.gmane.org>, LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA-AT-public.gmane.org>, "Rafael J. Wysocki" <rjw-KKrjLPT3xs0-AT-public.gmane.org>, Arjan van de Ven <arjan-wEGCiKHe2LqWVfeAwA7xHQ-AT-public.gmane.org>
Archive-link:  Article

On Wed, Apr 15, 2009 at 11:49:45AM -0400, Mark Lord wrote:
> Alan Stern wrote:
>> On Wed, 15 Apr 2009, Alan Cox wrote:
>>
>>> Why should every user suffer a slower boot and a poorer resume time ?
>>>
>>> Instead make the root fs mounting look like this
>>>
>>>
>>> 	while(my_rootfs_hasnt_appeared_and_i_am_sad()) {
>>> 		wait_on(&new_disk_discovery);
>>> 	}
>>>
>>> and poke the queue whenever we add a relevant device.
>>>
>>> That way if you are booting off an initrd you can finish the SATA probe
>>> in parallel to getting userspace ticking over.
>>>
>>> On what is nowdays essentially a hot plug system it all needs turning
>>> this way up - eg RAID volumes should assemble and come online as the
>>> drives are discovered not at some fixed point later in userspace.
>>
>> Indeed, something like this should also be used for  
>> resume-from-hibernation, to wait for the swap device.
> ..
>
> It just needs a way to set a finite timeout, so that server room
> equipment can auto-panic-reboot and try again if a device has died.

The problem with USB root devices is the same one I brought up a couple of
weeks ago--faster booting means that USB boot devices fail. We now have
problems with three different classes of devices:

o	Disks
o	Network devices
o	Serial consoles

Saying that we were "lucky" that things worked before is no help and
you should be aware that it ticks people off. I agree that this is not a
USB problem, but there is a *very* real problem:

     The work to decrease boot time has exposed race conditions that
     always existed, but are now making the kernel less usable.

So, instead of spending time denying that there is a USB problem, let's
focus on solve the boot device synchronization problem.  I have already
posted a (probably incomplete, possibly wrong) patch to synchronize console
initialization. We need to do the same for other boot devices, too.

David VomLehn
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



(Log in to post comments)


Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds