Ehhez kell tudás: kicsit átpofozunk 21 kódsort, és a Linux felpörög. Linus Torvalds, aki a kernelfejlesztés felügyelete révén gyakorlatilag ma is élet és halál ura a Linux-univerzumban, a közelmúltban frappáns megoldást adott az Intel CPU-kban 2018-ban felfedezett két sérülékenység, a Meltdown és a Spectre kezelésére.
Az alap ugyan nem Torvaldsé volt, de az ő módosításaival sikerült az operációs rendszer futási sebességén hajszálnyival javítani. Mivel a Linuxot alapvetően adatközpontokban, weboldalakat kiszolgáló szerverekben stb. használják, minden százaléknyi gyorsítás számít.
A mindössze 21 sornyi javítás alapját a Red Hat egyik fejlesztője, Josh Poimboeuf készítette. Torvalds ezt vizsgálta felül, és módosította. A x86/uaccess: Avoid barrier_nospec() in 64-bit copy_from_user() néven közzétett kód eredményeként "a kernelteszt robot 2,6%-os javulást jelez a per_thread_ops benchmarkban" – kommentálta saját módosításait.
Hatéves hibát kell javítgatni?!
Bár a két súlyos CPU-hibát azon melegében megpróbálták javítani, sokszor akár a teljesítmény beáldozásával is, kiderült, hogy mind a mai napig kísért.
A Meltdown és a Spectre is a modern processzorok egy fontos, a sebességüket növelő eljárással, a gépi kódok ún. spekulatív végrehajtásával függ össze. A spekulatív végrehajtás lényege, hogy a CPU-k megpróbálják előrejelezni, hogy milyen programkódot kell lefuttatni a következő lépésben, és azt előre beteszik a gyorsítótárba. Ha helyes volt az előrejelzés, akkor gyorsul a végrehajtás, ha helytelen, akkor a CPU elveti a bekészített kódot, és megy minden a maga rendes (lassabb) útján.
A spekulatív végrehajtás azonban nem várt biztonsági kockázatokat hozott a képbe, amiket mind a mai napig nem sikerült megnyugtatóan megoldani. Kiszolgálóknál, melyek üzemeltetésében az egyik legfontosabb szempont a biztonság, amiért a fejlesztők akár a teljesítmény csökkentésére is hajlandók (pl. a spekulatív végrehajtás letiltásával). Torvalds azonban állítólag nem nagyon szereti az ilyen teljesítményromboló megoldásokat. Amikor például az Intel javítás vagy a visszaélési lehetőségek kizárása helyett kikapcsolta a spekulatív végrehajtást, válogatott szavakkal küldte el a csipgyártót melegebb éghajlatra.
Torvalds javítása anélkül kezeli a Meltdown és Spectre sérülékenységet, hogy ahhoz használná a barrier_nospec() API-t. (Az API feladata az, hogy megakadályozza bizonyos gépi kódok spekulatív végrehajtását.)
Szakértők szerint még egy ilyen apróságban is megmutatkozik, hogy Torvalds elképesztő mélységekben látja át az x86 architektúrát, valamit az architektúra és az operációs rendszer kapcsolatát. És az ilyen villanások miatt érthető az is, miért kap még mindig az alap 700 ezres fizetése mellé egyéb jogcímeken több mint egymillió dollárt a Linux Alapítványtól évente.
Nyílt forráskód: valóban ingyenes, de használatának szigorú szabályai vannak