Xirmo balastar ah ayaa la daabacay kuwaas oo dedejiya dhismaha kernel-ka Linux 50-80%

Ingo Molnar, horumariye kernel Linux ah oo caan ah isla markaana ah qoraaga CFS (Jadwalka Dhamaystiran ee Jadwalka cadaaladda ah) jadwalaha hawsha, ayaa soo jeediyay dood ku saabsan liiska soo-saareyaasha kernel-ka Linux ee taxanayaal saameynaya in ka badan kala bar dhammaan faylalka ilaha kernel-ka iyo waxay kordhisaa xawaaraha dib-u-dhiska kernel-ka oo dhamaystiran 50-80% iyadoo ku xidhan goobaha. Hagaajinta la hirgeliyay waxaa xusid mudan in ay la xiriirto isugeynta isbeddelka ugu weyn ee taariikhda horumarinta kernel - 2297 balastar ayaa la soo jeediyay in lagu daro hal mar, iyadoo la beddelayo in ka badan 25 kun oo faylal (10 kun oo faylal madax ah oo ku jira "ka mid ah) /"iyo"arch/*/ku dar/" hagayaal "iyo 15 kun oo fayl oo leh qoraalo isha ah).

Faa'iidada waxqabadka waxaa lagu gaaraa iyada oo la beddelo habka loo habeeyo faylalka madaxa. Waxaa la xusay in ka badan soddon sano oo horumarinta kernel, xaaladda feylasha madaxa ayaa soo bandhigay muuqaal niyad-jab ah sababtoo ah joogitaanka tiro badan oo isku xiran oo u dhexeeya faylasha. Dib-u-habaynta faylka madaxa waxa ay qaadatay muddo sannad ah waxana ay u baahday dib-u-shaqayn mug leh oo ah kala sareynta iyo ku-tiirsanaanta. Inta lagu jiro dib-u-qaabaynta, shaqada ayaa la sameeyay si loo kala saaro qeexitaannada nooca iyo API-yada nidaamyada hoosaadka kernel-ka ee kala duwan.

Waxaa ka mid ah isbeddelada la sameeyay: kala soocida faylalka madaxa sare ee midba midka kale, baabi'inta hawlaha khadka ee isku xira faylalka madaxa, kala soocida faylalka madaxa ee noocyada iyo API-yada, hubinta isu imaatinka faylalka madaxa (qiyaastii 80 fayl waxay lahaayeen ku-tiirsanaan aan toos ahayn oo faragelinaya isu imaatinka, oo la soo bandhigay faylalka kale ee madaxa), ku darida tooska ah ee ku-tiirsanaanta faylalka ".h" iyo ".c", tayaynta tallaabo-tallaabo ee faylalka madaxa, isticmaalka qaabka "CONFIG_KALLSYMS_FAST=y", isku-darka xulashada C ee faylalka si loo galo yaree tirada faylasha shayga.

Natiijo ahaan, shaqada la qabtay ayaa suurtogal ka dhigtay in la dhimo cabbirka faylalka madaxa ee lagu baaraandegay marxaladda ka-hor-jeedinta kadib 1-2 amarrada cabbirka. Tusaale ahaan, ka hor inta aan la wanaajin, isticmaalka faylka madaxa "linux/gfp.h" waxay keentay in lagu daro 13543 khadadka koodka iyo ku darida 303 faylalka madaxa ee ku xiran, iyo ka dib hagaajinta cabbirka ayaa hoos loo dhigay 181 xariiq iyo 26 faylasha ku tiirsan. Ama tusaale kale: marka la sii diyaariyo faylka "kernel/pid.c" oo aan lahayn balastar, 94 kun oo xariiq oo kood ah ayaa lagu daray, kuwaas oo intooda badan aan loo isticmaalin pid.c. Kala soocida faylalka madaxa ayaa suurtageliyay in la yareeyo tirada koodhka la farsameeyay saddex jeer, iyada oo la dhimay tirada khadadka la shaqeeyay ilaa 36 kun.

Markii kernel-ka si buuxda dib loogu dhisay amarka "samee -j96 vmlinux" ee nidaamka tijaabada, codsiga dhejiska ayaa muujiyay hoos u dhigista waqtiga dhismaha ee laanta v5.16-rc7 laga bilaabo 231.34 ilaa 129.97 ilbiriqsi (laga bilaabo 15.5 ilaa 27.7 waxay dhistaa). saacadiiba), iyo sidoo kale waxay kordhisay waxtarka isticmaalka koodhka CPU inta lagu jiro shirarka. Dhisidda korodhka, saamaynta hagaajinta ayaa xitaa la dareemi karaa - waqtiga dib-u-dhiska kernel-ka ka dib marka isbeddel lagu sameeyo faylalka madaxa ayaa si weyn hoos ugu dhacay (laga bilaabo 112% ilaa 173% iyadoo ku xiran faylka madaxa oo la bedelay). Hagaajinta hadda waxa kaliya oo loo heli karaa ARM64, MIPS, Sparc iyo x86 (32- iyo 64-bit) qaab-dhismeedyada.

Source: opennet.ru

Add a comment