Milá a nemilá novinka na POWER9
Začněme tou příjemnou zprávou: V upstream linuxovém kernelu přibyla podpora hardwarové akcelerace kompresní metody GZIP. Komprese/dekomprese s použitím hardwarového akcelerátoru běží rychlostí mezi 9 a 16 GB/s, dle varianty procesoru. Aby byl nárůst rychlosti komprese ještě ilustrativnější, pro kompresi je rychlost s pomocí akcelerace rovna zhruba 70-120 jádrům POWER9 komprimujícím softwarově, pro dekompresi je to 25-45 jader.
Ne ve všech dostupných distribucích už tato verze kernelu dorazila ke koncovým uživatelům, nicméně jak jsem zaznamenal na sociálních sítích, tam kde se tak už stalo, je zrychlení rozhodně rozpoznatelné - přeci jen na Linuxu je GZIPem baleno kdeco. Praktický příklad: komprese modulů pro kernel 5.9.5 trvá jednovláknově softwarově 23 sekund, softwarově s použitím multithread GZIPu 2.9 s a s hardwarovou akcelerací 0.094 sekundy.
A teď zpráva příjemná poněkud méně: Byla odhalena bezpečnostní chyba CVE-2020-4788, s jejímž využitím by se potenciální útočník mohl dostat k datům z L1 cache, ke kterým by se rozhodně dostat neměl. Za běžných okolností brání přístupu datům v L1, která nebyla plně validována, mechanismus zvaný „kernel user access prevention“, leč Anthony Steinhauserovi z Google's Safeside Projectu se podařilo najít kód, který je-li spekulativně vykonán, tuto ochranu obchází.
Jak pro Linux tak pro AIX již existují patche a jsou distribuovány. Zůstávat na starých verzích kernelu se tak nevyplatí nejen kvůli pomalejší kompresi GZIPem, ale i kvůli této chybě.