U jezgru Linux 6.0, čije je objavljivanje zakazano za sljedeći ponedjeljak, donesena je izmjena koja rješava probleme s performansama sustava na AMD Zen procesorima. Izvor pada performansi bio je kod dodan prije 20 godina kao zaobilaženje hardverskog problema u nekim čipsetima. Taj je hardverski problem odavno uklonjen i ne pojavljuje se u aktualnim čipsetima, ali je stari zaobilazni problem zaboravljen, što je postalo izvor smanjenja performansi na sustavima temeljenim na modernim AMD CPU-ima. Nove sustave s Intel CPU-ima stari zaobilazni manevar ne pogađa, jer se pristup ACPI-ju u njima ostvaruje pomoću posebnog drajvera intel_idle, a ne zajedničkog drajvera processor_idle.
Zaobilazni manevar dodan je u jezgro u ožujku 2002. godine kako bi se blokirale manifestacije greške u čipsetima, vezane za nedostatak pravilnog postavljanja stanja mirovanja (idle) zbog kašnjenja obrade signala STPCLK#. Da bi se problem u implementaciji ACPI-ja zaobišao, dodavana je dodatna instrukcija WAIT koja usporava procesor kako bi čipset imao vremena preći u stanje mirovanja. Profiliranjem pomoću instrukcija IBS (Instruction-Based Sampling) na AMD Zen3 procesorima otkriveno je da procesor provodi značajno vrijeme izvršavajući
smanjenje performansi u opterećenjima u kojima se često izmjenjuju stanja mirovanja (idle) i aktivnosti (busy). Na primjer, korištenjem zakrpe koja isključuje zaobilazni manevar, prosječni rezultati testa tbench povećavaju se s 32191 MB/s na 33805 MB/s.
Izvor: opennet.ru
