Forgesita diakilo estis trovita en la Linukso-kerno, kiu influas la agadon de AMD-CPUoj

La Linukso 6.0-kerno, atendita esti liberigita la venontan lundon, inkluzivas ŝanĝon, kiu traktas rendimentajn problemojn kun sistemoj funkcianta per AMD Zen-procesoroj. La fonto de la rendimento falo estis trovita esti kodo aldonita antaŭ 20 jaroj por labori ĉirkaŭ aparatara problemo en iuj pecetaroj. La aparatara problemo estis longe riparita kaj ne aperas en nunaj pecetaroj, sed la malnova solvo por la problemo estis forgesita kaj fariĝis fonto de rendimento-degenero en sistemoj bazitaj sur modernaj AMD-CPUoj. Novaj sistemoj sur Intel-CPUoj ne estas tuŝitaj de la malnova solvo, ĉar ili aliras ACPI uzante apartan intel_idle-ŝoforon, kaj ne la ĝeneralan procesor_idle-ŝoforon.

Solvo estis aldonita al la kerno en marto 2002 por bloki la aperon de cimo en pecetaroj asociitaj kun ne konvene fiksado de la neaktiva stato pro prokrasto en prilaborado de la STPCLK#-signalo. Por solvi la problemon, la ACPI-efektivigo aldonis plian WAIT-instrukcion, kiu malrapidigas la procesoron tiel ke la pecetaro havas tempon iri en neaktivan staton. Dum profilado uzante instrukciojn de IBS (Instrukcio-Bazita Sampling) sur AMD Zen3-procesoroj, estis malkovrite, ke la procesoro pasigas signifan tempon ekzekuti stumpojn, kio kondukas al malĝusta interpreto de la procesora ŝarĝo-stato kaj agordi pli profundajn dormreĝimojn (C- Ŝtato) per la procesoro cpuidle.

Ĉi tiu konduto estas reflektita en reduktita efikeco sub laborkvantoj kiuj ofte alternas inter neaktivaj kaj okupataj ŝtatoj. Ekzemple, kiam vi uzas diakilon, kiu malŝaltas la pretervojan manovron, la tbench-testmezumoj pliiĝas de 32191 MB/s al 33805 MB/s.

fonto: opennet.ru

Aldoni komenton