Ebipụtala otu patches nke na-eme ngwa ngwa iwulite kernel Linux site na 50-80%

Ingo Molnar, onye nrụpụta kernel Linux ama ama na onye ode akwụkwọ nhazi ọrụ CFS (Ezigbo zuru oke nke ziri ezi), tụpụtara maka mkparịta ụka na ndetu onye nrụpụta Linux kernel ndepụta patches nke na-emetụta ihe karịrị ọkara nke faịlụ niile dị na isi mmalite kernel na nye mmụba na ọsọ nke kernel zuru oke site na 50-80% dabere na ntọala. Nkwalite nke emejuputa atumatu bụ ihe kwesịrị ịrịba ama na ọ gụnyere mgbakwunye nke mgbanwe mgbanwe kachasị ukwuu na akụkọ ihe mere eme nke kernel - 2297 patches ka akwadoro ka itinye ya n'otu oge, na-agbanwe karịa faịlụ 25 (faịlụ nkụnye eji isi mee 10 na "gụnyere /") na "arch / * / gụnyere /" akwụkwọ ndekọ aha "na 15 puku faịlụ nwere ederede isi mmalite).

A na-enweta uru arụmọrụ site n'ịgbanwe usoro nhazi faịlụ nkụnye eji isi mee. A na-achọpụta na ihe karịrị afọ iri atọ nke mmepe kernel, ọnọdụ nke faịlụ nkụnye eji isi mee ewerewo ọdịdị na-akụda mmụọ n'ihi ọnụnọ nke ọnụ ọgụgụ buru ibu nke ndabere n'etiti faịlụ. Nhazi faịlụ nkụnye eji isi mee were ihe karịrị otu afọ ma chọọ ịrụgharị nnukwu ọrụ nke ndị isi na ndị dabere. N'oge nhazigharị ahụ, a rụrụ ọrụ iji kewaa ụdị nkọwa na API maka sistemụ kernel dị iche iche.

N'ime mgbanwe ndị e mere: ikewapụ faịlụ nkụnye eji isi mee dị elu na ibe ha, na-ewepụ ọrụ inline na-ejikọta faịlụ nkụnye eji isi mee, na-ekewa faịlụ nkụnye eji isi mee maka ụdị na API, na-eme ka mgbakọ dị iche iche nke faịlụ nkụnye eji isi mee (ihe dị ka faịlụ 80 nwere ihe ndabere na-apụtaghị ìhè na-etinye aka na mgbakọ, kpughee site na ya. faịlụ nkụnye eji isi mee ndị ọzọ), mgbakwunye akpaka nke ndabere na faịlụ “.h” na “.c”, nkwalite nzọụkwụ site na nzọụkwụ nke faịlụ nkụnye eji isi mee, iji ọnọdụ “CONFIG_KALLSYMS_FAST=y”, nhọpụta nke faịlụ C n'ime ngọngọ mgbakọ belata ọnụ ọgụgụ faịlụ ihe.

N'ihi ya, ọrụ a rụrụ mere ka o kwe omume ibelata nha faịlụ nkụnye eji isi mee na ọkwa nhazi ọkwa site na 1-2 iwu nke ịdị ukwuu. Dịka ọmụmaatụ, tupu nkwalite, iji faịlụ nkụnye eji isi mee "linux/gfp.h" rụpụtara na mgbakwunye nke 13543 ahịrị koodu na ntinye nke faịlụ nkụnye eji isi mee 303 na-adabere na ya, na mgbe emeziwanye nha ahụ belatara na ahịrị 181 na faịlụ 26 dabere. Ma ọ bụ ihe atụ ọzọ: mgbe ị na-ebu ụzọ nhazi faịlụ "kernel/pid.c" na-enweghị patch, 94 puku ahịrị koodu gụnyere, ọtụtụ n'ime ha anaghị eji pid.c. Ikewa faịlụ nkụnye eji isi mee mere ka o kwe omume ibelata ọnụọgụ koodu ejiri ugboro atọ, na-ebelata ọnụ ọgụgụ nke ahịrị 36 puku.

Mgbe e wughachiri kernel kpamkpam site na iwu "mere -j96 vmlinux" na usoro ule, ngwa nke patches gosipụtara mbelata oge nrụpụta nke alaka v5.16-rc7 site na 231.34 ruo 129.97 sekọnd (site na 15.5 ruo 27.7 na-ewuli elu). kwa elekere), ma mụbaa arụmọrụ nke iji cores CPU n'oge mgbakọ. Site na mmụba na-abawanye, mmetụta nke njikarịcha na-apụta ìhè karịa - oge iji wughachi kernel mgbe emechara mgbanwe na faịlụ nkụnye eji isi mee ebelatala nke ukwuu (site na 112% ruo 173% dabere na faịlụ nkụnye eji isi mee ka agbanwere). Nkwalite dị ugbu a naanị maka ụlọ ARM64, MIPS, Sparc na x86 (32- na 64-bit).

isi: opennet.ru

Tinye a comment