A javítások második verziója a Linux kernel fejlécfájljainak átstrukturálásával

Ingo Molnar bemutatta egy olyan javításkészlet második verzióját, amely jelentősen csökkentheti a kernel újraépítésének idejét a fejlécfájlok hierarchiájának átstrukturálásával és a keresztfüggőségek számának csökkentésével. Az új verzió eltér a néhány nappal ezelőtt javasolt első verziótól, mivel az 5.16-rc8 rendszermaghoz lett adaptálva, további optimalizálásokat ad hozzá, és támogatja a Clang fordító segítségével történő építést. A Clang használatakor a javítások alkalmazása 88%-kal vagy 77%-kal csökkentette a felépítési időt a CPU erőforrás-felhasználását tekintve. A kernel teljes újraépítésekor a „make -j96 vmlinux” paranccsal az építési idő 337.788 másodpercről 179.773 másodpercre csökkent.

Az új verzió a GCC-bővítményekkel kapcsolatos problémát is megoldja, kijavítja a kezdeti felülvizsgálati folyamat során feltárt hibákat, és egységesíti a „task_struct_per_task” struktúra duplikált deklarációit. Emellett folytatódott a linux/sched.h fejlécfájl optimalizálása és megvalósult az RDMA alrendszer (infiniband) fejlécfájljainak optimalizálása, ami lehetővé tette a felépítési idő további 9%-os csökkentését az első verzióhoz képest. a tapaszok közül. A linux/sched.h fejlécfájlt tartalmazó C kernel fájlok száma 68%-ról 36%-ra csökkent a javítások első verziójához képest (99%-ról 36%-ra az eredeti kernelhez képest).

Forrás: opennet.ru

Hozzászólás