Évtized Bugja. 5-30% teljesítményvesztés a Patch Által

Linus szokatlan módon, a 4.15-ös kernel fejlesztési ciklusának végén olvasztotta be a Kernel page-table isolation patchkészletet. A Microsoft decemberben tolt ki a fast-ring csatornában a Windows Insider-nek olyan változásokat, amelyeket várhat

Kommentek

#14
#13: Nem. Pont az a lényeg, hogy az out-of-order végrehajtás miatt nem garantált, hogy hozzáférés ellenőrzés előbb végrehajtásra kerül mint a kiolvasás. Most is segmentation fault-ot okoz a művelet, szval nem kapja meg a program a védett adatott csak úgy. A gond az, hogy az exception előtt már be lett olvasva címzett memória a registerbe, ami meg a cache segítségével kiolvasható (leegyszerűsítve).

A megoldás az, hogy a process virtuális címtárába csak annyi védett memória kerüljön amennyi feltétlen szükséges. Ez okozza a teljesítményromlást: kontextus váltás esetén be kell tölteni a kernel laptábláját (eddig nem kellett).
#13
#10: Akkor másképp mondom: Eddig az volt a predikátum hogy a processzor úgy van felépítve hogy ne olvashasd a kernel memóriát normál felhasználói engedélyekkel. Most annyi változott hogy megtudták hogy ez a limitáció nem létezik. Az eredménye az, hogy ha meg akarják őrizni a jelenlegi működést akkor mindig valamilyen megoldás folytán meg kell nézni hogy ugye nem akarja elérni ez a user azt a részét a memóriának.
#10
#9: "Pl. minden alkalommal amikor a user akárcsak fosni akar, azt az OS-nek meg kell állapítania szoftveres szinten hogy jogosultan teszi-e."
Ezt mondjuk nem tudom melyik cikkben írták, mert nem sok értelme van.
#9
#8: ?? :D Csak leírtam ami a cikkben van.
#7
#6: Elvileg nem lehetett helyrehozni a hibát a mikrokóddal, egyébként megtette volna az intel.


A legjobb tudásom szerint a proci kezeli a hozzáférési jogosultságokat (https://en.wikipedia.org/wiki/Protection_ring) és mivel a ring 3-ból (átlaguser) elérhetsz/futtathatsz ring 0-ás (tulképp mindent) dolgokat, ezért szoftveresen kell áthidalni. Pl. minden alkalommal amikor a user akárcsak fosni akar, azt az OS-nek meg kell állapítania szoftveres szinten hogy jogosultan teszi-e.


Mivel ez egy hardveres tervezési probléma, ezért most jelenleg nem lehet használni a hardvert ennek a problémának a megoldására és ezért nagyonis valóságos a lassulás. A legkönnyebb megoldás is az hogy újratervezik az egész oprendszer működését.
#1
Valszeg nem észrevehető a lassulás annyira. De lehet azért van ez mert nem proci-nehéz címeket nézel.


Egy Dwarf Fortress például teljesen procira támaszkodik. Egy EU4-et az i5-öm nem tud a patch nélkül sem elég jól futtatni. Nekem nagy gondom lesz még ebből úgyérzem.


Lehet hanyagolom ezt a patchet mert az én linux gépem úgysem nagyon védett. A természetes tűzfal megteszi amire szükségem van.