Ang pangalawang bersyon ng mga patch na may muling pagsasaayos ng mga file ng header ng kernel ng Linux

Ipinakita ni Ingo Molnar ang pangalawang bersyon ng isang set ng mga patch na maaaring makabuluhang bawasan ang oras ng muling pagtatayo ng kernel sa pamamagitan ng muling pagsasaayos ng hierarchy ng mga file ng header at pagbabawas ng bilang ng mga cross-dependencies. Ang bagong bersyon ay naiiba sa unang bersyon na iminungkahi ilang araw na ang nakalipas sa pamamagitan ng pag-adapt para sa 5.16-rc8 kernel, pagdaragdag ng mga karagdagang pag-optimize at pagpapatupad ng suporta para sa pagbuo gamit ang Clang compiler. Kapag gumagamit ng Clang, pinababa ng paglalapat ng mga patch ang oras ng pagbuo ng 88% o 77% sa mga tuntunin ng pagkonsumo ng mapagkukunan ng CPU. Kapag ganap na muling itinayo ang kernel gamit ang command na "make -j96 vmlinux," ang oras ng pagbuo ay nabawasan mula 337.788 hanggang 179.773 segundo.

Nilulutas din ng bagong bersyon ang problema sa mga plugin ng GCC, itinatama ang mga error na natukoy sa panahon ng paunang proseso ng pagsusuri, at pinagsasama-sama ang mga duplicate na deklarasyon ng istrukturang "task_struct_per_task". Bilang karagdagan, ang pag-optimize ng linux/sched.h header file ay nagpatuloy at ang pag-optimize ng mga header file ng RDMA subsystem (infiniband) ay ipinatupad, na naging posible upang higit pang bawasan ang build time ng 9% kumpara sa unang bersyon ng mga patch. Ang bilang ng mga kernel C file na kasama ang linux/sched.h header file ay nabawasan mula 68% hanggang 36% kumpara sa unang bersyon ng mga patch (mula 99% hanggang 36% kumpara sa orihinal na kernel).

Pinagmulan: opennet.ru

Magdagdag ng komento