[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090421135034.GA30114@elte.hu>
Date: Tue, 21 Apr 2009 15:50:34 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Arjan van de Ven <arjan@...radead.org>
Cc: David VomLehn <dvomlehn@...co.com>,
"H. Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux USB Mailing List <linux-usb@...r.kernel.org>,
Linux Embedded Mailing List <linux-embedded@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: Wait for console to become available, v3.2
* Arjan van de Ven <arjan@...radead.org> wrote:
> On Tue, 21 Apr 2009 08:43:46 +0200
> Ingo Molnar <mingo@...e.hu> wrote:
>
> > The proper approach would be to use one of the async_synchronize*()
> > facilities in kernel/async.c to properly order the opening of the
> > console with device init.
>
> Unfortunately this is not the answer.
>
> First of all, USB does not use the async_* infrastructure, so it does
> not do anything.
[ Of course it does not. Two kernel cycles ago nothing had any async
infrastructure ;-) We barely have any use of it today. But cases
like this are the way to extend its use. ]
> But more importantly... USB *CANNOT* do this fundamental
> operation. USB does not have the capability to know when you have
> seen all devices that are connected. Devices just show up a random
> amount of time after you turn the power on for the bus.... there's
> no "and now we've seen all" operation.
Yes - and this is fundamentally true of any hotplug bus design.
Nevertheless the wish has been expressed to wait for such a device
to become available, in this very thread we are discussing.
What i'm saying is: instead of "wait 2000 msecs, maybe it works out"
hack, there should be a proper sleep+event based approach to the
same. With perhaps a _timeout_ for the "no console arrived" negative
case as well. (which timeout can be set to zero in the "I _know_
there's no console around".)
Do you see the fundamental design difference between the two
solutions?
Ingo
--
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