Re: [PATCH 1/2] firmware, fix request_firmware_nowait() freeze withno uevent

From: Henrique de Moraes Holschuh
Date: Thu Oct 24 2013 - 07:18:08 EST


On Wed, 23 Oct 2013, Prarit Bhargava wrote:
> After all this I completely forgot the problem I'm trying to solve here. The
> issue is that with HOTPLUG & request_microcode_nowait(), if the microcode image
> is not found (that is the file is not found on disk), then EACH cpu waits 1
> minute and it takes 2 hours for a 120 cpu box to load the microcode module.

The proper fix seems to be teaching the concept of negative caching to the
microcode core/drivers, as it was pointed out elsewhere in the thread.
Negative caching should have a lifetime of "the current update-all-cores
request".

This would fix the absurd compound timeout delays, as on most systems it
will result in just one timeout (the first one).

That first timeout can be fixed by the user if they disable the userspace
firmware loader helper. IMHO that might well be the best choice, as it is
already the way forward.

--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
--
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/