Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758050Ab3EWKQQ (ORCPT ); Thu, 23 May 2013 06:16:16 -0400 Received: from cantor2.suse.de ([195.135.220.15]:50626 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757913Ab3EWKQP (ORCPT ); Thu, 23 May 2013 06:16:15 -0400 Date: Thu, 23 May 2013 12:16:34 +0200 Message-ID: From: Takashi Iwai To: Takashi Iwai Cc: Ming Lei , Dave Jones , "H. Peter Anvin" , Linux Kernel , x86@kernel.org, fenghua.yu@intel.com Subject: Re: microcode loading got really slow. In-Reply-To: References: <20130521230332.GC12713@redhat.com> <519D1668.6000601@zytor.com> <20130522200012.GA15456@redhat.com> <20130523033911.GA9411@redhat.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/24.2 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2044 Lines: 48 At Thu, 23 May 2013 10:06:56 +0200, Takashi Iwai wrote: > > At Thu, 23 May 2013 15:45:32 +0800, > Ming Lei wrote: > > > > On Thu, May 23, 2013 at 11:39 AM, Dave Jones wrote: > > > > On 05/21/2013 04:03 PM, Dave Jones wrote: > > > > > > > > [ 72.318133] microcode: CPU1 sig=0x306c3, pf=0x2, revision=0x6 > > > > [ 132.446449] microcode: CPU2 sig=0x306c3, pf=0x2, revision=0x6 > > > > [ 192.573101] microcode: CPU3 sig=0x306c3, pf=0x2, revision=0x6 > > > > [ 252.702055] microcode: Microcode Update Driver: v2.00 , Peter Oruba > > > > > > > > For some reason the events for udev seem to be getting delayed 60s > > > > for each core. > > > > > > Screwed up my .config, and had CONFIG_FW_LOADER_USER_HELPER inadvertantly set > > > Odd though that it causes that 60 second delay, given that it's supposedly a > > > 'fallback' when the direct loading fails. > > > > udevd has the ugly problem previously at some situations(for example, > > request_firmware called in probe(), and that is why direct loading is > > introduced), > > but not sure why the direct loading is failed first. > > The microcode update is optional, so it's no error even if the > microcode firmwares are not found. > > But yes, this seems happening during the module probing. The lines > "microcde: CPU..." show before "microcode: Microcode Update > Driver...", which means the f/w loading has been done before finishing > the module load. > > I thought (or hoped) this mess (60s stalls) was fixed in the recent > udev, but apparently not...? Thinking on this again, if the user-space continues to be broken in that point, we should provide request_firmware() variant without udev, e.g. request_firmware_direct(), and use it in known places like this? Takashi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/