2012-08-14 12:35:54

by Ulrich Windl

[permalink] [raw]
Subject: Q: Seeing the microcode revision in /proc/cpuinfo

Hi!

After several reboots due to memory errors after excellent power-saving of Linux on a HP DL380G7 with Intel Xeon 5650 processors (all in on memory bank), I found out the errate "BD104" and "BD123". The former should be fixed in a microcode revision "15H".

Now I wonder what microcode revision my CPUs currently have. /proc/cpuinfo doesn't show that, and the microcode update is a bit cryptic:

kernel: [ 44.422912] microcode: CPU23 sig=0x206c2, pf=0x1, revision=0x14

Does that mean the revision is 0x14 BEFORE or AFTER the microcode update?

Wouldn't you agree that seeing the microcode revision in /proc/cpuinfo would be nice?

For those CPUs lacking the feature one could hard-wire the value "none" (which would be also "kind of true")...

Regards,
Ulrich
(not subscribed, so please CC: you replies to me)


2012-08-14 13:12:00

by Borislav Petkov

[permalink] [raw]
Subject: Re: Q: Seeing the microcode revision in /proc/cpuinfo

On Tue, Aug 14, 2012 at 02:35:40PM +0200, Ulrich Windl wrote:
> Hi!
>
> After several reboots due to memory errors after excellent power-saving of Linux on a HP DL380G7 with Intel Xeon 5650 processors (all in on memory bank), I found out the errate "BD104" and "BD123". The former should be fixed in a microcode revision "15H".
>
> Now I wonder what microcode revision my CPUs currently have. /proc/cpuinfo doesn't show that, and the microcode update is a bit cryptic:
>
> kernel: [ 44.422912] microcode: CPU23 sig=0x206c2, pf=0x1, revision=0x14
>
> Does that mean the revision is 0x14 BEFORE or AFTER the microcode update?
>
> Wouldn't you agree that seeing the microcode revision in /proc/cpuinfo would be nice?

Well, you must be using an old-ish kernel because the microcode revision
infact *is* in /proc/cpuinfo:

processor : 1
...
stepping : 0
microcode : 0x5000028

This is on 3.6-rc1 and that functionality is upstream since 3.2.

HTH.

--
Regards/Gruss,
Boris.

2012-08-14 13:21:02

by Ulrich Windl

[permalink] [raw]
Subject: Antw: Re: Q: Seeing the microcode revision in /proc/cpuinfo

Hi Borislav,

probably my edge is not bleeding that much than yours ;-)

I don't see "microcode" in 3.0.34-0.7-default for an AMD Opteron, and not in 2.6.32.59-0.3-default for the Intel Xeon. Both are kernels of SLES11 xon x86_64. The first one is the latest you can get for SLES11 SP2.

In openSUSE 12.1 (kernel 3.1.10) it's also still missing.

Anyway, it's nice to see that others also thought this feature is useful.

Thanks & best regards,
Ulrich

>>> Borislav Petkov <[email protected]> schrieb am 14.08.2012 um 15:12 in Nachricht
<[email protected]>:
> On Tue, Aug 14, 2012 at 02:35:40PM +0200, Ulrich Windl wrote:
> > Hi!
> >
> > After several reboots due to memory errors after excellent power-saving of
> Linux on a HP DL380G7 with Intel Xeon 5650 processors (all in on memory
> bank), I found out the errate "BD104" and "BD123". The former should be fixed
> in a microcode revision "15H".
> >
> > Now I wonder what microcode revision my CPUs currently have. /proc/cpuinfo
> doesn't show that, and the microcode update is a bit cryptic:
> >
> > kernel: [ 44.422912] microcode: CPU23 sig=0x206c2, pf=0x1, revision=0x14
> >
> > Does that mean the revision is 0x14 BEFORE or AFTER the microcode update?
> >
> > Wouldn't you agree that seeing the microcode revision in /proc/cpuinfo
> would be nice?
>
> Well, you must be using an old-ish kernel because the microcode revision
> infact *is* in /proc/cpuinfo:
>
> processor : 1
> ...
> stepping : 0
> microcode : 0x5000028
>
> This is on 3.6-rc1 and that functionality is upstream since 3.2.
>
> HTH.
>
> --
> Regards/Gruss,
> Boris.
>



2012-08-14 13:31:28

by Borislav Petkov

[permalink] [raw]
Subject: Re: Antw: Re: Q: Seeing the microcode revision in /proc/cpuinfo

On Tue, Aug 14, 2012 at 03:20:53PM +0200, Ulrich Windl wrote:
> Hi Borislav,
>
> probably my edge is not bleeding that much than yours ;-)
>
> I don't see "microcode" in 3.0.34-0.7-default for an AMD Opteron, and not in 2.6.32.59-0.3-default for the Intel Xeon. Both are kernels of SLES11 xon x86_64. The first one is the latest you can get for SLES11 SP2.
>
> In openSUSE 12.1 (kernel 3.1.10) it's also still missing.
>
> Anyway, it's nice to see that others also thought this feature is useful.

Yep,

those are all before 3.2.

Well, if you still want to find out the microcode revision on those
boxes, on both AMD and Intel you can do as root:

$ rdmsr 0x8b

You need the msr.ko kernel module loaded or built-in (CONFIG_X86_MSR
option enabled) for this and rdmsr is from the msr-tools package.

HTH.

--
Regards/Gruss,
Boris.

Subject: Re: Q: Seeing the microcode revision in /proc/cpuinfo

On Tue, 14 Aug 2012, Ulrich Windl wrote:
> After several reboots due to memory errors after excellent power-saving of
> Linux on a HP DL380G7 with Intel Xeon 5650 processors (all in on memory
> bank), I found out the errate "BD104" and "BD123". The former should be
> fixed in a microcode revision "15H".

Hmm, BD104 is indeed nasty. And that microcode update is not available
to the general public (i.e. through downloadcenter.intel.com).

> Now I wonder what microcode revision my CPUs currently have. /proc/cpuinfo
> doesn't show that, and the microcode update is a bit cryptic:
>
> kernel: [ 44.422912] microcode: CPU23 sig=0x206c2, pf=0x1, revision=0x14

You have revision 0x14.

Presumably, you will get revision 0x15 if you update the HP firmware in
that box. The update you need was published by HP nearly an year ago.

> Does that mean the revision is 0x14 BEFORE or AFTER the microcode update?

Before. The message you get when the CPU is updated is different.

--
"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