Navoaka ny andiany patch izay manafaingana ny fananganana kernel Linux amin'ny 50-80%

Ingo Molnar, mpamorona kernel Linux fanta-daza ary mpanoratra ny fandaharam-potoana CFS (Completely Fair Scheduler), dia nanolotra soso-kevitra ho an'ny fifanakalozan-kevitra momba ny lisitry ny mailaka developer kernel Linux andiana patch izay misy fiantraikany amin'ny antsasaky ny rakitra rehetra ao amin'ny loharano kernel ary manome fampiakarana 50-80% ny hafainganam-pandehan'ny fananganana kernel manontolo arakaraka ny toe-javatra. Tsara homarihina ny fanatsarana nampiharina satria tafiditra ao anatin'izany ny fampitomboana ny fanovana lehibe indrindra amin'ny tantaran'ny fivoaran'ny kernel - 2297 paty no natolotra mba hampidirana indray mandeha, manova rakitra maherin'ny 25 arivo (10 arivo lohan-drakitra ao amin'ny "include/" ary "arch/*/include/" directories "ary rakitra 15 arivo miaraka amin'ny lahatsoratra loharano).

Ny tombony amin'ny fampisehoana dia azo amin'ny alΓ lan'ny fanovana ny fomba fanodinana ny rakitra header. Marihina fa nandritra ny telopolo taona nisian'ny fivoaran'ny kernel, ny toetry ny fisie lohapejy dia nisedra endrika mahakivy noho ny fisian'ny fifampiankinan-doha be dia be eo amin'ireo rakitra. Naharitra herintaona mahery ny fanavaozana ny rakitra lohapejy ary nitaky fanavaozana lehibe ny ambaratonga sy ny fiankinan-doha. Nandritra ny fanavaozana dia nisy asa natao hanasarahana ny famaritana karazana sy ny API ho an'ny subsystems kernel samihafa.

Anisan'ireo fanovana natao: manasaraka ireo rakitra lohapejy avo lenta amin'ny tsirairay, manafoana ireo fiasa an-tserasera izay mampifandray ireo rakitra lohapejy, manasaraka ireo rakitra lohapejy ho an'ny karazana sy API, miantoka ny fivorian'ny rakitra lohapejy misaraka (rakitra 80 eo ho eo no misy fiankinan-doha ankolaka manelingelina ny fivoriambe, miseho amin'ny alΓ lan'ny fisie lohapejy hafa), fanampiana mandeha ho azy ny fiankinan-doha amin'ny rakitra ".h" sy ".c", fanatsarana tsikelikely ny rakitra lohapejy, fampiasana ny fomba "CONFIG_KALLSYMS_FAST=y", fampivondronana voafantina ny rakitra C ho bokan'ny fivoriambe. mampihena ny isan'ny rakitra zavatra.

Vokatr'izany, ny asa vita dia nahafahana nampihena ny haben'ny rakitra loham-pamokarana voahodina tamin'ny dingana aorian'ny fanodinana amin'ny baiko 1-2. Ohatra, alohan'ny fanatsarana, ny fampiasana ny fisie lohapejy "linux/gfp.h" dia nampiditra andalana 13543 kaody sy ny fampidirana 303 lohapejy miankina amin'ny rakitra, ary taorian'ny fanatsarana ny habeny dia nihena ho 181 andalana sy 26 miankina rakitra. Na ohatra hafa: rehefa manodina ny rakitra "kernel/pid.c" tsy misy patch dia misy andalana 94 arivo ny code, izay tsy ampiasaina amin'ny pid.c ny ankamaroany. Ny fisarahana ny fisie header dia nahafahana nampihena in-telo ny habetsaky ny code voahodina, ka nampihena ny isan'ny andalana voakarakara ho 36 arivo.

Rehefa naorina tanteraka ny kernel tamin'ny baiko "make -j96 vmlinux" amin'ny rafitra fitsapana, ny fampiharana ny paty dia nampiseho ny fihenan'ny fotoana fananganana ny sampana v5.16-rc7 avy amin'ny 231.34 ka hatramin'ny 129.97 segondra (avy amin'ny 15.5 ka hatramin'ny 27.7 fananganana. isan'ora), ary koa nampitombo ny fahombiazan'ny fampiasana cores CPU mandritra ny fivoriambe. Miaraka amin'ny fananganana incremental, vao mainka miharihary ny fiantraikan'ny fanatsarana - ny fotoana hananganana indray ny kernel aorian'ny fanovana ny rakitra lohapejy dia nihena be (avy amin'ny 112% ka hatramin'ny 173% miankina amin'ny fisie header novana). Ny fanatsarana dia tsy misy afa-tsy amin'ny maritrano ARM64, MIPS, Sparc ary x86 (32- sy 64-bit).

Source: opennet.ru

Add a comment