Izihloko Ze-Kernel Ezisheshayo, isethi yama-patches asheshisa ukuhlanganiswa kwe-kernel ngo-50-80%

Ingo Molnar, unjiniyela we-Linux kernel owaziwa kakhulu futhi umbhali we-CFS Task Scheduler okuhlongozwe engxoxweni yohlu lokuposa lokuthuthukiswa kwe-kernel ye-Linux inombolo yeziqephu, ezithinta ngaphezu kwesigamu sawo wonke amafayela kumthombo we-kernel futhi ihlinzeka ngokunyuka kwesivinini sokwakha kabusha i-kernel ngama-50 -80% kuye ngokucushwa.

Ukulungiselela kusetshenzisiwe kuyaphawuleka ngoba kuhlotshaniswa nokwengezwa kwesethi enkulu yoshintsho emlandweni wokuthuthukiswa kwe-kernel: bazimisele ukufaka ama-patches angu-2297 ngesikhathi esisodwa, bashintsha amafayela angaphezu kwezinkulungwane ze-25.

Inzuzo yokusebenza kufinyelelwa ngokushintsha indlela yokuphatha ifayela likanhlokweni. Kumele kuqashelwe ukuthi phakathi neminyaka engamashumi amathathu yokuthuthukiswa kwe-kernel, isimo samafayela enhlokweni sithathe isimo esibi ngenxa yokuba khona kwenani elikhulu lokuncika phakathi kwamafayela.

Ukuhlelwa kabusha kwamafayela enhlokweni kuthathe unyaka futhi idinga ukuklanywa kabusha okubalulekile kwesigaba nokuncika. Ngesikhathi sokuhlelwa kabusha, kwenziwa umsebenzi wokuhlukanisa izincazelo zohlobo nama-API wezinhlelo ezingaphansi ze-kernel.

Ngiyajabula ukumemezela inguqulo yokuqala yomphakathi yephrojekthi yami entsha ethi "Izihloko Ezisheshayo Ze-Kernel" ebengisebenza kuyo kusukela ngasekupheleni kuka-2020, okuwukusetshenzwa kabusha okuphelele kohlu lwesihloko se-Linux kernel nokuncika kwesihloko, okuhloswe ngaso kabili:

- sheshisa ukwakhiwa kwe-kernel (zombili izikhathi zokwakha eziphelele nezikhuphukayo)

- thayipha ukuhlukaniswa kwe-subsystem nezincazelo ze-API kusuka komunye nomunye

Njengoba iningi labathuthukisi be-kernel bazi, kunezihloko ezingaba ngu-~ 10,000 eziyinhloko .h ku-Linux kernel, ku-hlanganisa / kanye ne-arch / * / faka / izigaba. Kule minyaka engu-30+ edlule, aguqukele ekubeni yisethi eyinkimbinkimbi nebuhlungu yokuncika okuphambene esikubiza ngothando ngokuthi 'Dependency Hell'.

Phakathi kwezinguquko ezenziwe yilezi: ukuhlukaniswa kwamafayela enhlokweni aphezulu ukusuka komunye nomunye, ukukhishwa kwemisebenzi engaphakathi komugqa exhumanisa amafayela anhlokweni, ukwenziwa kwemephu kwamafayela anhlokweni ezinhlobo nama-API, ukuhlinzekwa kwesethi ehlukile yamafayela anhlokweni (cishe amafayela angama-80 ayenokuncika okungaqondile okuphazamisa ukuhlanganiswa, okuvezwa ngamanye amafayela enhlokweni yamafayela), ukungezwa okuzenzakalelayo kokuncika Amafayela angu-".h" kanye no-".c", ukuthuthukiswa kwesinyathelo ngesinyathelo kwamafayela enhlokweni, ukusetshenziswa kwemodi ethi "CONFIG_KALLSYMS_FAST = y", ukuhlanganiswa okukhethiwe kwamafayela C abe amabhlogo wokuhlanganisa ukuze kuncishiswe inani lamafayela ezinto.

Ngenxa yalokho, umsebenzi owenziwe uvunyelwe ukunciphisa usayizi wamafayela asekhanda asetshenziweesigabeni se-post-preprocessing ngama-oda we-1-2 wobukhulu.

  • Isibonelo, ngaphambi kokuthuthukiswa, ukusebenzisa ifayela lesihloko esithi "linux / gfp.h" kubangele ukwengezwa kwemigqa yekhodi engu-13543 kanye nokufakwa kwamafayela angama-303 ancike kusihloko, futhi ngemva kokwenza kahle usayizi wehliswa waba imigqa engu-181 namafayela ancike ku-26.
  • Esinye isibonelo: ukucubungula kusengaphambili ifayela elingapeyishwanga elithi "kernel / pid.c" lixhuma imigqa yekhodi eyizinkulungwane ezingama-94, eminingi yayo engasetshenziswa ku-pid.c. Ukuhlukanisa amafayela kanhlokweni kusivumele ukuthi sehlise inani lekhodi ecutshungulwe kathathu, sehlise inani lemigqa ecutshunguliwe laba ngu-36.

Lapho i-kernel yakhiwe kabusha ngokuphelele ngomyalo othi "make -j96 vmlinux" ohlelweni lokuhlola, ukuchibiyela kubonise ukuncipha kwesikhathi sokuhlanganisa segatsha le-v5.16-rc7 ukusuka ku-231,34 kuya ku-129,97, imizuzwana engama-15,5 (kusuka ku-27,7 kuye ku-XNUMX ukwakha ngakunye ihora) futhi yandisa ukusebenza kahle kokusetshenziswa kwe-CPU core ngesikhathi sokwakha.

Ngokuhlanganiswa okukhulayo, umphumela wokuthuthukisa ubonakala nakakhulu: isikhathi sokwakha kabusha i-kernel ngemva kokwenza izinguquko kumafayela anhlokweni sehliswe kakhulu (kusuka ku-112% kuya ku-173%, kuye ngefayela likanhlokweni elishintshiwe) .

Ukuthuthukisa okwamanje kutholakala kuphela kuzakhiwo ze-ARM64, i-MIPS, i-Sparc, ne-x86 (32-bit kanye ne-64-bit).

Kahle uma unentshisekelo yokwazi kabanzi ngakho, ungabheka imininingwane kufayela le- isixhumanisi esilandelayo.


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.