Madaxa Kernel Fast, xirmo balastar ah oo dedejiya isku-darka kernel-ka 50-80%

Ingo Molnar, horumariye kernel Linux ah oo caan ah iyo qoraaga Jadwalka Hawsha CFS loo soo jeediyay doodaha liiska horumarinta kernel-ka Linux tiro balastar ah, oo saameeya in ka badan kala badh dhammaan faylasha ku jira isha kernel-ka iyo bixinta guud ahaan dib-u-dhiska kernel kororka 50 -80% iyadoo ku xiran qaabeynta.

Hagaajinta waa la fuliyay waxaa xusid mudan in ay la xiriirto ku dar ah ee Changeet ugu weyn taariikhda horumarinta kernel: waxay dejiyeen inay ku daraan 2297 balastar hal mar, iyagoo beddelaya in ka badan 25 kun oo faylal.

Faa'iidada waxqabadka waxaa lagu gaaraa iyadoo la baddalo habka maamulida faylka madaxa. Waa in la ogaadaa in inta lagu guda jiro soddon sano ee horumarinta kernel, xaaladda feylasha madaxa ayaa qaab xun u yeeshay sababtoo ah joogitaanka tiro badan oo isku xiran oo u dhexeeya faylasha.

Dib u habeynta faylalka madaxa waxa ay qaadatay sanad iyo u baahday dib u habeyn weyn oo lagu sameeyo 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.

Waxaan ku faraxsanahay inaan ku dhawaaqo nooca ugu horreeya ee dadweynaha ee mashruucayga cusub ee "Fast Kernel Headers" ee aan ka shaqeynayay tan iyo dabayaaqadii 2020, kaas oo dib u habeyn ballaaran ku sameeyay madaxda sareynta kernel Linux iyo ku tiirsanaanta madaxa, oo leh ujeedo labanlaab ah:

- dedeji dhisidda kernel-ka (labadaba waqtiyo dhismo oo dhammaystiran iyo mid kordhin labadaba)

- nooca decoupling of subsystem iyo qeexitaan API midba midka kale ka

Sida inta badan kuwa horumariya kernel-ka ay ogyihiin, waxaa jira ku dhawaad ​​~ 10,000 oo madaxyada muhiimka ah ee .h ee ku jira kernel Linux, oo ay ku jiraan / iyo arch / * / ka mid ah / kala sarreynta. 30-kii sano ee la soo dhaafay, waxay u xuubsiibteen isku-tiirsanaan adag oo xanuun badan oo aan si kalgacal leh ugu yeerno 'Dependency Hell'.

Isbadalada la sameeyay waxaa ka mid ah: kala soocidda faylalka madaxa sare ee midba midka kale, ka saarida hawlaha khad dhexe ee isku xidhaya faylalka madaxa, khariidaynta faylalka madaxa ee noocyada iyo API-yada, bixinta qayb gaar ah oo faylal madax ah (qiyaastii 80 fayl ayaa lahaa ku tiirsanaan aan toos ahayn oo farageliya isu imaatinka, daaha ka qaaday faylalka kale ee madaxa), ku darida tooska ah ee ku tiirsanaanta ".h" iyo ".c" files, talaabo-tallaabo hagaajinta faylalka madaxa, isticmaalka "CONFIG_KALLSYMS_FAST = y" qaabka, isku darka xulashada C ee faylasha si loo yareeyo tirada faylasha shayga.

Natiijo ahaan, shaqada la qabtay ayaa loo ogol yahay in la yareeyo xajmiga faylalka madaxa ee la farsameeyayMarxaladda ka-hortagga ka-hortagga 1-2 amarrada cabbirka.

  • Tusaale ahaan, ka hor inta aan la hagaajin, isticmaalka faylka madaxa "linux / gfp.h" waxay keentay in lagu daro 13543 khadadka koodka iyo ku darida 303 faylasha madaxa ee ku xiran, iyo ka dib hagaajinta cabbirka ayaa hoos loo dhigay 181 xariiq iyo 26 faylal ku xiran.
  • Tusaale kale: diyaarinta faylka "kernel / pid.c" ee aan la daboolin wuxuu isku xiraa 94 kun oo xariiq oo kood ah, kuwaas oo intooda badan aan loo isticmaalin pid.c. Kala qaybinta faylalka madaxa waxa ay noo ogolaatay in aanu hoos u dhigno tirada koodka la farsameeyay saddex jeer, iyada oo hoos u dhigaysa tirada khadadka la farsameeyay oo laga dhigay 36.

Markii kernel-ka si buuxda dib loogu dhisay amarka "samee -j96 vmlinux" ee nidaamka tijaabada, dhejinta waxay muujisay hoos u dhac ku yimid wakhtiga la isku duba ridey ee laanta v5.16-rc7 laga bilaabo 231,34 ilaa 129,97, 15,5 ilbiriqsi (laga bilaabo 27,7 ilaa XNUMX dhismo kasta). saac) iyo sidoo kale waxay kordhisay waxtarka isticmaalka xudunta u ah CPU inta lagu jiro dhismaha.

Marka la isku daro kordhinta, saamaynta hagaajinta ayaa xitaa la dareemi karaa: waqtiga dib u dhiska kernel ka dib markii isbedel lagu sameeyo faylalka madaxa ayaa si weyn hoos loogu dhigay (laga bilaabo 112% ilaa 173%, taas oo ku xidhan faylka madaxa ee la bedelay) .

Hagaajinta hadda waxa kaliya oo loo heli karaa ARM64, MIPS, Sparc, iyo x86 (32-bit iyo 64-bit).

Si fiican hadaad xiisaynayso inaad waxbadan ka ogaato, waxaad ka eegi kartaa faahfaahinta xiriirka soo socda.


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.