Ospalé Xeony? Ice Lake se dle Linuxu příliš pomalu probouzí z úsporného režimu
16.7.2020, Jan Vítek, aktualita
![Ospalé Xeony? Ice Lake se dle Linuxu příliš pomalu probouzí z úsporného režimu](navstevnost-a-redakce/1/img/website-800.jpg)
Nejnovější záplata pro kernel Linuxu ukazuje na zajímavý problém nejnovějších procesorů Intel Xeon založených na generaci Ice Lake. Ty mají teprve dorazit na trh a nyní se o nich dozvídáme, že mají problémy s probouzením se k vysokým taktům.
Server Phoronix informuje o problému dosud nepředstavených procesorů Intel Xeon generace Ice Lake, jež mají vstoupit na trh ještě v tomto roce jako vůbec první 10nm serverové modely. Ty mají mít problém v tom, že jim po probuzení z úsporného režimu příliš dlouho trvá, než se vrátí na vysoké takty, což pak ohrožuje konzistenci výkonu kvůli "nejistým" taktům. Opravdu jde ale o problém samotných procesorů?
![](ospale-xeony-ice-lake-se-dle-linuxu-prilis-pomalu-probouzi-z-usporneho-rezimu/52580/img/FgLZmZgbH8DocmychW7mEd-650-80.jpg)
Není zatím jasné ani to, zda vůbec jde o závažný problém, nebo o něco, co by Intel dokázal do vypuštění procesorů na trh ještě vyřešit třeba úpravou mikrokódu svých procesorů. To by mohlo znamenat i jejich zpoždění, ovšem server Tom's Hardware se právě na to Intelu optal a ten už odpověděl, že jeho 10nm serverové Ice Lake jsou stále na cestě k uvedení na trh během druhé poloviny tohoto roku.
Věc se týká konkrétně různých úsporných stavů C (čili C-States), které mají za úkol šetřit energií při klidovém provozu, což zahrnuje i snížení taktů a v nižších stavech pak i zastavení jader a vyprázdnění jejich cache. To pak logicky znamená, že z nižších stavů C se procesor probouzí déle než z vyšších a právě čas probouzení procesorů Ice Lake je onen problém, který se nyní řeší.
Dle Phoronixu přišel s popisem potíží a dočasnou záplatou zaměstnanec Intelu a my se díky tomu dozvídáme, že jde o probouzení se ze stavu C1E či nižšího. Nad ním jsou ovšem už jen C1 a C0 a právě C0 představuje aktivní procesor, kde platí stavy P optimalizující napětí a takty. V důsledku pomalého probouzení se dočkáme "nestabilního výkonu" kvůli "nejistému taktu CPU".
Intel přišel se záplatou, která umožní, aby stavy C1E až C6 byly deaktivovány, čili pokud někomu ono pomalé probouzení činí potíže, má možnost tyto úsporné stavy zakázat, ale tím se pochopitelně také připraví o výhodu úspornějšího provozu v klidovém režimu.
Problém ale může být nakonec pouze v tom, jak je o stavech C a časech nutných k probuzení informován kernel systému. Mohlo by tedy jít pouze o vcelku prostou chybu, která vychází z toho, že procesory Intel využívají ještě stavy PC (package C-states) týkající se celého čipu včetně uncore částí a že probuzení se z PC6+C6 trvá déle, než jen z C6. Pokud je to tak, pak možnost deaktivace nižších stavů C bude opravdu jen dočasná, než se ono "nedorozumění" mezi jádrem Linuxu a procesory Ice Lake vysvětlí a systém se dozví o správných časech, během nichž se Ice Lake dokáží probudit z jistých úsporných stavů. To by mohlo přijít už příští měsíc v rámci Linux 5.9.