From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754497Ab2A0AIT (ORCPT ); Thu, 26 Jan 2012 19:08:19 -0500 Received: from cantor2.suse.de ([195.135.220.15]:59429 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754380Ab2A0AIE (ORCPT ); Thu, 26 Jan 2012 19:08:04 -0500 Date: Thu, 26 Jan 2012 16:07:23 -0800 From: Greg KH To: Simon Glass Cc: Sebastian Andrzej Siewior , Alan Stern , LKML , linux-usb@vger.kernel.org, Sarah Sharp Subject: Re: [PATCH] usb: Use a workqueue in usb_add_hcd() to reduce boot time Message-ID: <20120127000723.GB14678@suse.de> References: <20120124165711.GC3836@linutronix.de> <20120124172231.GA27273@suse.de> <20120126235129.GA13095@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 26, 2012 at 03:57:23PM -0800, Simon Glass wrote: > Hi Greg, > > On Thu, Jan 26, 2012 at 3:51 PM, Greg KH wrote: > > On Thu, Jan 26, 2012 at 03:48:43PM -0800, Simon Glass wrote: > >> Hi Greg, > >> > >> On Tue, Jan 24, 2012 at 9:22 AM, Greg KH wrote: > >> > On Tue, Jan 24, 2012 at 05:57:11PM +0100, Sebastian Andrzej Siewior wrote: > >> >> * Alan Stern | 2012-01-21 11:11:09 [-0500]: > >> >> > >> >> >Doing time-consuming things later won't make any difference.  That is, > >> >> >suppose the boot sequence performs activities A and B, where A takes a > >> >> >long time.  Doing A later, so that the boot sequence performs B and > >> >> >then A, won't change the total time required. > >> >> > >> >> That is true. However if you show the gui _now_ and look for USB later > >> >> then it feels faster and this is usually enough. > >> > > >> > Which has been done before, with great success (i.e. we did it for > >> > Moblin boot times), so it shouldn't be that big of an issue. > >> > > >> > Which points out the question, exactly what is the issue here?  We have > >> > "multithreaded" pci driver startup for a long time now, did that stop > >> > working here?  If you use bootchart, does it show that the USB host > >> > driver is stoping the machine from proceeding to the next stage in the > >> > boot process? > >> > > >> > From my experience, I never saw the USB host controller get in the way > >> > at all, it was always somethine else happening that caused problems > >> > (i.e. video.) > >> > > >> > Simon, do you have boot charts anywhere showing this? > >> > >> I did have initcall timing when I last looked at this. USB was holding > >> up progress. Sorry for the delay - I hope to get back to this next > >> week. > > > > Are you building your USB host controllers into the kernel, or are they > > modules? > > > > What is sitting on the USB bus that is needed for the boot process to > > continue on to init and then later?  Is the root disk on it? > > A hub with a few things on it (Ethernet, USB stick). No we don't > normally have a root disk on it - we could in fact init USB *much* > later and be quite happy. Sorry I don't have full answers until I get > back to this. But USB does 'start' each port within the initcall which > seems to take time. Maybe it is at bottom a driver issue? Then load the usb module from a thread after init starts up and you should be fine for boot speed, right? That's what other distros did with no known ill side effects. greg k-h