mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Dave Jones <davej@redhat.com>
Cc: Ming Lei <tom.leiming@gmail.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	x86@kernel.org, fenghua.yu@intel.com
Subject: Re: microcode loading got really slow.
Date: Thu, 23 May 2013 17:06:27 +0200	[thread overview]
Message-ID: <s5hbo81viq4.wl%tiwai@suse.de> (raw)
In-Reply-To: <20130523144800.GB16419@redhat.com>

At Thu, 23 May 2013 10:48:00 -0400,
Dave Jones wrote:
> 
> On Thu, May 23, 2013 at 04:36:20PM +0200, Takashi Iwai wrote:
>  
>  > > >> Also udev supports user-defined rules to load firmware, which
>  > > >> means some drivers may not put their firmware in the default
>  > > >> path of distribution's firmware.
>  > > >
>  > > > It's why I suggested to put a warning in that path as the first step.
>  > > > So we can see whether there is any actual user.
>  > > 
>  > > If you plan to do it, it'd better to add default firmware path of some
>  > > distributions into firmware_class.c first, otherwise it may cause
>  > > unnecessary noise for this distribution.
>  > >
>  > > But if more default search paths are added, it might cause mistaken
>  > > firmwares found under incorrect path, for example, android's
>  > > default path is "/etc/firmware" and "/vendor/firmware"(maybe different
>  > > for different versions).
>  > > 
>  > > Also, putting default search paths into kernel isn't good, which was
>  > > introduced unwillingly for well-known reason.
>  > 
>  > Maybe we can create a new Kconfig to specify non-standard firmware
>  > path?
> 
> You keep mentioning non-standard paths for firmware, but in this case,
> I don't think Fedora is doing anything unusual.  We have microcode firmware
> in /lib/firmware/intel-ucode/ just like (afaik) everyone else.
> 
> What *is* happening, I think is that the CPU is new enough that there's no
> newer firmware file available for it. 
> 
> thoughts?

Yes, in your case, everything is fine in the kernel itself.  And no
microcode update is needed for new CPU, thus no firmware.

The problem is that the f/w loader tries to call udev and udev gets
stuck when invoked from module init.  This doesn't hit most drivers
because usually the firmware is mandatory and it must exist.  Thus the
direct f/w loading always works for them.  If it hits, it's only the
error case.

But, for the microcode loader, it's normal that the firmware doesn't
exist, like your case.  Unfortunately, this falls back to user helper
mode, and now you're seeing the problem.

So, the option would be to fix udev, let it behaving like before.
The second option would be to change ("fix") the kernel behavior, but
the question is which way.


Takashi


> 	Dave
> 

  reply	other threads:[~2013-05-23 15:06 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-21 23:03 Dave Jones
2013-05-22 19:03 ` H. Peter Anvin
2013-05-22 20:00   ` Dave Jones
2013-05-22 20:09     ` H. Peter Anvin
2013-05-23  0:19       ` Dave Jones
2013-05-23  3:39       ` Dave Jones
2013-05-23  6:56         ` Takashi Iwai
2013-05-23  7:45         ` Ming Lei
2013-05-23  8:06           ` Takashi Iwai
2013-05-23 10:16             ` Takashi Iwai
2013-05-23 10:18               ` anish singh
2013-05-23 10:28                 ` Takashi Iwai
2013-05-23 10:27               ` Ming Lei
2013-05-23 10:36                 ` Takashi Iwai
2013-05-23 10:45                   ` Ming Lei
2013-05-23 12:05                     ` Takashi Iwai
2013-05-23 13:04                       ` Ming Lei
2013-05-23 13:21                         ` Takashi Iwai
2013-05-23 14:28                           ` Ming Lei
2013-05-23 14:36                             ` Takashi Iwai
2013-05-23 14:48                               ` Dave Jones
2013-05-23 15:06                                 ` Takashi Iwai [this message]
2013-05-23 15:27                                   ` Ming Lei
2013-05-23 15:55                                     ` Dave Jones
2013-05-23 15:21                               ` Ming Lei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5hbo81viq4.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=davej@redhat.com \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tom.leiming@gmail.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®