在Linux系統(tǒng)上,人們經(jīng)常能發(fā)現(xiàn)一些bug會(huì)導(dǎo)致現(xiàn)在的處理器性能大受影響,這一次發(fā)現(xiàn)的陳年bug甚至可以追溯到20年前,導(dǎo)致AMD現(xiàn)在的處理器性能在Linux中性能下滑,但I(xiàn)ntel的處理器不受影響。
這個(gè)問(wèn)題是AMD工程師K Prateek Nayak報(bào)告的,與2002年Linux系統(tǒng)開始支持ACPI有關(guān),當(dāng)時(shí)設(shè)計(jì)了一個(gè)操作dummy wait op”去處理某些芯片組中STPCLK# 沒(méi)有被及時(shí)處理的問(wèn)題,然而這個(gè)過(guò)程會(huì)延遲進(jìn)一步的指令處理,直到CPU停止。
這個(gè)操作之前多年前的系統(tǒng)上沒(méi)什么問(wèn)題,然而在最新幾代的AMD處理器,比如Zen3架構(gòu)銳龍中,這個(gè)操作指令導(dǎo)致部分情況下性能嚴(yán)重下降,特別是與tbench負(fù)載有關(guān)的時(shí)候。
這個(gè)問(wèn)題影響了AMD處理器多年,不過(guò)對(duì)Intel處理器沒(méi)啥影響,因?yàn)楹笳叩钠脚_(tái)使用了別的代碼路徑做了替代。
好消息是這個(gè)問(wèn)題會(huì)得到修復(fù),AMD及Intel的工程師都提交了新的補(bǔ)丁,不再采用上面的方法來(lái)處理問(wèn)題,相關(guān)補(bǔ)丁已經(jīng)合并到了Linux 6.0內(nèi)核中,以后就不會(huì)有意外有情況了。
(舉報(bào))