Изменения в процессе обновления микрокода Intel

Natrio
У меня оно успешно обновило микрокод... на одном ядре :)
На втором осталась старая ревизия
Аналогично:
CPU0 ... revision=0x60f (новая)
CPU1 ... revision=0x60c (старая)
Не в тему , так же после оновления grub (я так понимаю заточенный под intel-ucode) -
[v@arch ~]$ pacman -Ss grub
core/grub 1:2.02.beta2-5 [установлен]
    GNU GRand Unified Bootloader (2)
после выполнения из ARCH установленном на sda1 -
sudo grub-mkconfig -o /boot/grub/grub.cfg
изменяются права в grub.cfg для arch установленном на sda3 , получаю -
kernel panic
, пробовал с sda3 -
grub-install /dev/sda
, получаю тот же эффект для ARCH установленный на sda1 , приходится править руками .


Кстати, эта новая обновлялка микрокода – тот ещё глюк.
У меня оно успешно обновило микрокод... на одном ядре :)
На втором осталась старая ревизия:
У меня на ПК с ядром 3.17.2-1-ARCH -
[v@arch ~]$ dmesg | grep microcode
[    0.000000] CPU0 microcode updated early to revision 0x19, date = 2013-06-21
[    0.189114] CPU1 microcode updated early to revision 0x19, date = 2013-06-21
[    0.208958] CPU2 microcode updated early to revision 0x19, date = 2013-06-21
[    0.225716] CPU3 microcode updated early to revision 0x19, date = 2013-06-21
[    0.459458] microcode: CPU0 sig=0x106a5, pf=0x2, revision=0x19
[    0.459464] microcode: CPU1 sig=0x106a5, pf=0x2, revision=0x19
[    0.459469] microcode: CPU2 sig=0x106a5, pf=0x2, revision=0x19
[    0.459474] microcode: CPU3 sig=0x106a5, pf=0x2, revision=0x19
[    0.459479] microcode: CPU4 sig=0x106a5, pf=0x2, revision=0x19
[    0.459484] microcode: CPU5 sig=0x106a5, pf=0x2, revision=0x19
[    0.459489] microcode: CPU6 sig=0x106a5, pf=0x2, revision=0x19
[    0.459494] microcode: CPU7 sig=0x106a5, pf=0x2, revision=0x19
[    0.459532] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[v@arch ~]$
Как ни странно, на нормальном кернеле (3.17.2-1-ARCH) обновляет все ядра на четырёх моих компах.
Вот на Lenovo-5400 с ядром 3.17.2-1-ARCH -
v ~ $ dmesg | grep microcode
[    0.000000] CPU0 microcode updated early to revision 0x1c, date = 2014-07-03
[    0.413320] microcode: CPU0 sig=0x306c3, pf=0x10, revision=0x1c
[    0.413325] microcode: CPU1 sig=0x306c3, pf=0x10, revision=0x1c
[    0.413332] microcode: CPU2 sig=0x306c3, pf=0x10, revision=0x9
[    0.413339] microcode: CPU3 sig=0x306c3, pf=0x10, revision=0x9
[    0.413375] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
v ~ $
Насчет обновления не всех ядер.
В свое время несколько раз игрался с обновлением микрокода. У меня core i3 - 4 ядра - 2 физических и 2 виртуальных (точнее, физических 2 ядра, но каждое имеет 2 потока одновременно, в результате получаем 4 потока, и все проги считают это за 4 ядра). И получал всегда — при обновлении микрокода обновленную версию показывало только два ядра (физических).
В результате копания на эту тему сделал вывод (возможно и не совсем правильный) - материнка может неправильно определять процессор, а потому такие глюки с обновлением микрокода — обновления показывают только физические ядра, а виртуальные в этом не участвуют (на работу это никак не сказывается — обновление микрокоманд происходит в реальном ядре). Чтобы этого избежать нужно обновлять BIOS, в случае, если в прошивку включен патч обновления микрокода. В этом случае глюк пропадает. Но БИОС обновляется, как правило, только в случае острой необходимости.
Ошибки не исчезают с опытом - они просто умнеют
Без обновлялки микрокода, с вручную прописанным intel-ucode в конфиге grub.

$ ~ dmesg | grep microcode
[    0.000000] CPU0 microcode updated early to revision 0x1c, date = 2014-07-03
[    0.266118] CPU2 microcode updated early to revision 0x1c, date = 2014-07-03
[    0.691853] microcode: CPU0 sig=0x306c3, pf=0x10, revision=0x1c
[    0.691868] microcode: CPU1 sig=0x306c3, pf=0x10, revision=0x1c
[    0.691884] microcode: CPU2 sig=0x306c3, pf=0x10, revision=0x1c
[    0.691903] microcode: CPU3 sig=0x306c3, pf=0x10, revision=0x1c
[    0.692003] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[  906.261110] CPU1 microcode updated early to revision 0x1c, date = 2014-07-03
[  906.276502] CPU2 microcode updated early to revision 0x1c, date = 2014-07-03


$ ~ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Model name:            Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz
Stepping:              3
CPU MHz:               3068.847
CPU max MHz:           3100.0000
CPU min MHz:           800.0000
BogoMIPS:              4990.89
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3
Lenovo ThinkPad E540, 2 физических и 2 виртуальных ядра
У меня на ноуте так же -
klay
2 физических и 2 виртуальных ядра
Делал так - grub-mkconfig -o /boot/grub/grub.cfg , и у меня почему то вывод другой , а какая разница , вручную или автоматом ? -
klay
с вручную прописанным intel-ucode в конфиге grub
Это раз:
[~]$ dmesg | grep microcode
[    0.000000] CPU0 microcode updated early to revision 0xa0b, date = 2010-09-28
[    0.006666] CPU1 microcode updated early to revision 0xa0b, date = 2010-09-28
[    0.006666] CPU2 microcode updated early to revision 0xa0b, date = 2010-09-28
[    0.006666] CPU3 microcode updated early to revision 0xa0b, date = 2010-09-28
[    0.264902] microcode: CPU0 sig=0x1067a, pf=0x10, revision=0xa0b
[    0.264910] microcode: CPU1 sig=0x1067a, pf=0x10, revision=0xa0b
[    0.264924] microcode: CPU2 sig=0x1067a, pf=0x10, revision=0xa0b
[    0.264939] microcode: CPU3 sig=0x1067a, pf=0x10, revision=0xa0b
[    0.265023] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[~]$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 23
Model name:            Intel(R) Core(TM)2 Quad CPU    Q9550  @ 2.83GHz
Stepping:              10
CPU MHz:               2833.008
BogoMIPS:              5668.10
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              6144K
NUMA node0 CPU(s):     0-3

Это два:
[~]$ dmesg | grep microcode
 [    0.000000] CPU0 microcode updated early to revision 0x4, date = 2013-06-28
 [    0.255102] CPU2 microcode updated early to revision 0x4, date = 2013-06-28
 [    0.636975] microcode: CPU0 sig=0x20655, pf=0x10, revision=0x4
 [    0.636986] microcode: CPU1 sig=0x20655, pf=0x10, revision=0x4
 [    0.636997] microcode: CPU2 sig=0x20655, pf=0x10, revision=0x4
 [    0.637009] microcode: CPU3 sig=0x20655, pf=0x10, revision=0x4
 [    0.637103] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[~]$ lscpu
 Architecture:          x86_64
 CPU op-mode(s):        32-bit, 64-bit
 Byte Order:            Little Endian
 CPU(s):                4 On-line
 CPU(s) list:   0-3
 Thread(s) per core:    2
 Core(s) per socket:    2
 Socket(s):             1
 NUMA node(s):          1
 Vendor ID:             GenuineIntel
 CPU family:            6
 Model:                 37
 Model name:            Intel(R) Core(TM) i5
 CPU       M 560  @ 2.67GHz
 Stepping:              5
 CPU MHz:               1466.000
 CPU max MHz:           2667.0000
 CPU min MHz:           1199.0000
 BogoMIPS:              5322.60
 Virtualization:        VT-x
 L1d cache:             32K
 L1i cache:             32K
 L2 cache:              256K
 L3 cache:              3072K
 NUMA node0
 CPU(s):     0-3
vasek, возможно, разработчики из интела и правда запутались в своих виртуальных и физических ядрах :)
Фактически у меня дело обстоит так:
1) Есть селерон G530, с отключённым гипертрейдингом, но двумя физическими ядрами. И именно на нём микрокод обновился только для первого физического ядра, а на втором физическом остался старый.
2) Есть древний пентиум-4, с одним физическим ядром и включённым гипертрейдингом (два ядра виртаульно). На нём после обновления микрокода новая ревизия отображается для обоих ядер, хоть они и виртуальные.
В моём втором примере как раз проц с двумя ядрами, каждое с хайпертрейдингом, обновлён код именно для ядер.
 
Зарегистрироваться или войдите чтобы оставить сообщение.