Re: [PATCH RESEND] x86: kernel/microcode_core.c simple_strtoulcleanup

From: Borislav Petkov
Date: Wed May 09 2012 - 03:01:02 EST


On Tue, May 08, 2012 at 06:00:10AM +0200, Ingo Molnar wrote:
>
> * Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> wrote:
>
> > > Of course, one can iterate over each core in a shell-loop
> > > and write into the reload file to reload ucode after having
> > > updated the ucode image in /lib/firmware but removing and
> > > then modprobing the module is shorter :-)
> >
> > Can we PLEASE fix it properly by adding a new node (which is
> > _not_ per-cpu) that requests the microcode core to refresh all
> > cpus?

Ok, where do you want to have it:

$ find /sys -iname "microcode"
/sys/bus/platform/devices/microcode
/sys/devices/system/cpu/cpu0/microcode
/sys/devices/system/cpu/cpu1/microcode
/sys/devices/virtual/misc/microcode
/sys/devices/platform/microcode
/sys/class/misc/microcode
/sys/module/microcode

I'm all for the level at

/sys/devices/system/cpu/

where CPU-related stuff can go in - not per-CPU but per whole system.
Ingo?

> > Preferably by invalidating the microcode cache, THEN fetching each
> > required microcode just once for the first core that needs it, and
> > caching it for use the other cores.

That should be easy, the most part is already there.

> > You can leave the (IMHO mostly useless) per-cpu sysfs nodes alone,
> > so as to not break ABI, or deprecate them for an year or something.

Yeah, about that, what is not breaking the ABI? Having the sysfs node but
reading/writing it returns -E<something>, having the sysfs node and
reading/writing it does nothing, or...?

> > I *do NOT* want to rmmod crap in a production server to update
> > microcode. And I want to be able to support static-compiled
> > microcode.

I'd need this more explained, why?

If by "static-compiled microcode" you mean the microcode.ko module
should be built-in that can't fly because for request_firmware we need
userspace to actually find the ucode image.

Thanks.

--
Regards/Gruss,
Boris.
--
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/