Re: microcode loading got really slow.

From: Ming Lei
Date: Thu May 23 2013 - 06:45:44 EST


On Thu, May 23, 2013 at 6:36 PM, Takashi Iwai <tiwai@xxxxxxx> wrote:
>
> No, f/w loader always fall back to user mode helper, as long as its
> support is built in. And doing that for microcode driver in that code
> path isn't only superfluous but also broken due to request_firmware
> call in module init.

Firstly, it is not good to do this since some distributions doesn't support
direct loading and doesn't have udevd(such as, android).

Secondly, returning failure from request_firmware_direct() doesn't mean
the firmware doesn't exist since distribution may put the firmware other where.

Anyway, this example is very specific(no firmware can be accepted), and
request_firmware_nowait() should be OK for the situation.

>
>> wrt. this problem, I think we
>> need to know why the direct loading is failed.
>
> The reason is obvious: the requested f/w file doesn't exist.
> And it's fine, because the microcode update is an optional operation.
> If no f/w file is found, it's not handled as an error. It just means
> that no need to update, continuing to work.

OK, as said above, the example is very specific, and might be
workarounded by request_firmware_nowait().


Thanks,
--
Ming Lei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/