Hiba a Hyper Threading kompatibilis Intel Skylake és Kaby Lake CPU-kban

kami911 képe

A Debian hívta fel rá a figyelmet arra a mikrokód hibára, amiről már az Intelnél is tudnak és nem csak a Linux operációs rendszereket érinti.

Az Intel még májusban frissítette a Skylake és Kaby Lake processzorokról szóló dokumentumok hibajegyzékét, melyben a tervezésből eredő hibákat (errata) foglalják össze. Ezek között felbukkant egy új bejegyzés (SKZ7/SKW144/SKL150/SKX150/SKZ7/KBL095/KBW095 megjelöléssel kell ezeket keresni), mely az Intel Skylake és Kaby Lake alapú processzorokat (asztali, mobil, beágyazott, HEDT, szerver-munkaállomás egyaránt) érinti. Eszerint "Komplex mikroarchitekturális körülmények között az AH, BH, CH vagy DH regisztereket (és szélesebb, pl. RAX, EAX, AX vagy EH regisztereket) használó, 64 utasításnál rövidebb loopok kiszámíthatatlan, megjósolhatatlan rendszerviselkedést okozhatnak, amennyiben ugyanazon fizikai processzoron a logikai processzorok is aktívak."

Ennek a hibának – aminek részletesebb felgöngyölítése egyébként még idén januárban elkezdődött a fejlesztők részéről, noha már 2016 első felében is voltak erre utaló hibajelentések – eddig nem sok jelentőséget tulajdonítottak, de egyes Debian felhasználóknál kibukott a gyakorlatban is. Ennek nyomán a fejlesztők közzétettek egy figyelmeztetést, mely most széles körben is felhívja a figyelmet a probléma létezésére. A fent felsorolt processzorok közül a leírás alapján csak a Hyper Threadinget támogató darabok az érintettek, de fontos megjegyezni, hogy nem csak a Debian disztrók és Linux-alapú rendszereknél okozhat galibát a mikrokód hiba, hanem bármilyen más környezetben.

További információk és forrás: ITCafe

Hozzászólások

kimarite képe

Vizsgáló script

Henrique de Moraes Holschuh egy perl scriptet tett elérhetővé, amellyel a felhasználók tesztelhetik rendszerük esetleges érintettségét:
https://lists.debian.org/debian-devel/2017/06/msg00309.html

#!/usr/bin/perl
# Copyright 2017 Uwe Kleine-König
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License version 2 as published by the
# Free Software Foundation.

open(my $cpuinfo, "</proc/cpuinfo") or die "failed to open cpuinfo\n";

my $cpunum, $vendor, $family, $model, $stepping, $microcoderev, $hyperthreading;

while (<$cpuinfo>) {
if (/^$/) {
print "cpu $cpunum: ";
if ($vendor eq "GenuineIntel" and $family == 6) {
if ($model == 78 or $model == 94) {
if ($stepping eq "3") {
print "Your CPU is affected, ";
if (hex($microcoderev) >= 0xb9) {
print "but your microcode is new enough\n";
} elsif ($hyperthreading ne "on") {
print "but hyper threading is off, which works around the problem\n";
} else {
print "you should install the latest intel-microcode\n";
}
} else {
print "You may need a BIOS/UEFI update (unknown Skylake-Y/H/U/S stepping)\n";
}
} elsif ($model == 85 or $model == 142 or $model == 158) {
print "You may need a BIOS/UEFI update (Kaby Lake, or Skylake-X processor)\n";
} else {
print "You're likely not affected\n";
}
} else {
print "You're not affected\n";
}

$cpunum = undef;
$vendor = undef;
$family = undef;
$stepping = undef;
$microcoderev = undef;
$hyperthreading = undef;

next;
}

$cpunum = $1 if /^processor\s*:\s(.*)/;
$vendor = $1 if /^vendor_id\s*:\s(.*)/;
$family = $1 if /^cpu family\s*:\s(.*)/;
$model = $1 if /^model\s*:\s(.*)/;
$stepping = $1 if /^stepping\s*:\s(.*)/;
$microcoderev = $1 if /^microcode\s*:\s(.*)/;

if (/^flags\s*:/) {
if (/^flags\s*:.*\bht\b/) {
$hyperthreading = "on";
} else {
$hyperthreading = "off";
}
}
}

Forrás:
https://hup.hu/cikkek/20170626/hibas_a_hyper-threading_implementacio_az_intel_skylake_kaby_lake_processzorokban

Értékelés: 

0
Még nincs értékelve
kimarite képe

A megoldás nyomokban Windows-t tartalmazhat

Javította az újabb processzorainak hibáját az Intel, az alaplapi BIOS frissítése után már biztosan nem fog rosszalkodni a Hyper-Threading.

A múlt héten a Debian projekt egyik közreműködőjének jóvoltából kiderült, hogy az Intel tavalyi Skylake és idei Kaby Lake processzoraiban rosszul működik a CPU feldolgozási hatékonyságát virtuális magok bevetésével növelő Hyper-Threading technológia.

A beszámoló alapján bizonyos körülmények között a Hyper-Threadinget támogató processzorokon összeomolhatnak a futó alkalmazások, ez a puszta kellemetlenség mellett akár adatvesztéshez is vezethet. Az Intel most tisztázta a helyzetet, a hivatalos állásfoglalás szerint a problémát már áprilisban sikerült szoftveresen megoldani.

A tájékoztatás alapján az érintett processzorokkal rendelkezőknek a problémák elkerüléséhez frissíteniük kell a PC-jük alaplapjának vezérlőszoftverét (BIOS) a legújabb verzióra. Ennek a mikéntjéről asztali PC esetében az alaplap, míg notebook esetében az adott modell terméktámogatási oldalán találhatnak információkat az érdeklődők. Érdemes tudni, hogy a BIOS frissítése során alapértelmezettre állnak vissza a BIOS beállításai, így újból konfigurálni kell a vezérlőszoftvert.


A CPU-Z programmal könnyen megállapíthatjuk, hogy érintett-e a processzorunk. Extra tipp: a Mainboard fülön az alaplapunk pontos típusára is fényt deríthetünk.

Aki nem szeretné maga elvégezni a műveletet, az megpróbálhat segítséget kérni a számítógépének gyártójától, vagy beviheti a PC-jét bármelyik informatikai kereskedésbe; pár ezer forintért biztosan hajlandóak elvégezni a BIOS frissítését és beállítását.

Természetesen felmerül a kérdés, hogy egyáltalán miként állapíthatjuk meg a PC-nk érintettségét. Relatíve egyszerűen, csak töltsük le az ingyenes CPU-Z alkalmazást (a ZIP változatot ajánljuk), majd indítsuk el.

A processzorunk akkor érintett, ha

  • a „Code Name" után „Skylake" vagy „Kaby Lake" felirat olvasható, ÉS
  • a fül jobb alsó részén a „Threads" után lévő szám a duplája a „Cores" után lévő számnak.

Az illusztrációs képen lévő processzor esetében nem muszáj frissíteni az alaplapi BIOS-t. A kérdéses CPU ugyan Skylake architektúrás, de nem támogatja a Hyper-Threadinget, ami abból látszik, hogy egyenlőek a Cores és a Threads utáni számok.

Az alkalmazás
http://www.cpuid.com/softwares/cpu-z.html

Az Intel hivatalos állásfoglalása
http://wccftech.com/intel-hyperthreading-bug-in-kabylake-and-skylake-processors-was-addressed-by-bios-fix-in-april-2017/

Forrás
Origo | 2017.07.03.

Értékelés: 

0
Még nincs értékelve