Kua whakaputahia he huinga papaki e tere ake ai te hanga o te kernel Linux ma te 50-80%

Ko Ingo Molnar, he kaiwhakawhanake kernel Linux rongonui me te kaituhi o te CFS (Completely Fair Scheduler), i whakatakotohia mo te korerorero mo te rarangi mēra kaiwhakawhanake kernel Linux he raupapa o nga papanga ka pa atu ki te haurua o nga konae katoa kei roto i nga puna kernel me whakarato i te pikinga o te tere o te hanga kakano oti ma te 50-80% i runga i nga tautuhinga. Ko te arotautanga kua whakatinanahia he mea nui na te mea e hono ana ki te taapiri o nga huringa nui rawa atu i roto i te hitori o te whakawhanaketanga o te kernel - 2297 nga taapiri i whakaarohia mo te whakauru i te wa kotahi, ka huri neke atu i te 25 mano nga konae (10 mano nga konae pane i roto i te "whakauru. // me “arch/*/include/” whaiaronga "me te 15 mano nga konae me nga tuhinga puna).

Ka tutuki te painga o te mahi ma te whakarereke i te tikanga o te tukatuka i nga konae pane. E tohuhia ana kua neke atu i te toru tekau nga tau o te whakawhanaketanga kernel, kua ahua pouri te ahua o nga konae pane na te nui o nga hononga-whakawhitiwhiti i waenga i nga konae. Neke atu i te kotahi tau te hanganga o nga konae pane, me te mahi ano i te naataki me nga whakawhirinakitanga. I te wa o te whakatikatika, i mahia nga mahi ki te wehe i nga momo whakamaarama me nga API mo nga punaha iti o te kernel.

I roto i nga huringa i mahia: te wehe i nga konae pane taumata-tiketike mai i a ratau, te whakakore i nga mahi aa-roto e hono ana i nga konae pane, te wehe i nga konae pane mo nga momo me nga API, me te whakarite he huihuinga motuhake o nga konae pane (tata ki te 80 nga konae kei te whakararu i te whakararu i te huihuinga, ka kitea ma te etahi atu kōnae pane), te taapiri aunoa o te whakawhirinaki ki nga konae ".h" me te ".c", taahiraa-i-te-taahiraa o nga konae pane, te whakamahi i te aratau "CONFIG_KALLSYMS_FAST=y", te whakakotahi i nga konae C ki nga poraka huihuinga ki whakaitihia te maha o nga konae ahanoa.

Ko te mutunga, ko nga mahi i mahia i taea ai te whakaiti i te rahi o nga konae pane i tukatukahia i te wa i muri i te tukatuka ma te 1-2 ota o te nui. Hei tauira, i mua i te arotautanga, ma te whakamahi i te konae pane "linux/gfp.h" i hua mai i te taapiri o nga rarangi 13543 o te waehere me te whakauru i nga konae pane pane 303, a, i muri i te arotautanga ka whakahekehia te rahi ki te 181 raina me te 26 nga konae whakawhirinaki. Ko tetahi atu tauira ranei: i te wa i mua i te tukatuka i te konae "kernel/pid.c" me te kore he papaki, 94 mano nga rarangi waehere kua whakauruhia, ko te nuinga kaore i te whakamahia i roto i te pid.c. Ko te wehewehe i nga konae pane ka taea te whakaiti i te nui o te waehere kua tukatukahia ma te toru nga wa, ka whakaiti i te maha o nga raina tukatuka ki te 36 mano.

I te wa i tino hangahia te kernel me te whakahau "make -j96 vmlinux" i runga i te punaha whakamatautau, i whakaatuhia e te tono o nga papanga he whakaiti i te wa hanga o te peka v5.16-rc7 mai i te 231.34 ki te 129.97 hēkona (mai i te 15.5 ki te 27.7 hangahanga. ia haora), me te whakanui ake i te kaha o te whakamahi i nga papa CPU i nga huihuinga. Na te pikinga ake o te hanga, ka tino kitea te hua o te arotautanga - kua tino heke te wa ki te hanga ano i te pata i muri i te whakarereketanga o nga konae pane (mai i te 112% ki te 173% kei te whakarereke i te konae pane). I tenei wa e waatea ana nga arotautanga mo nga hoahoanga ARM64, MIPS, Sparc me te x86 (32- me te 64-bit).

Source: opennet.ru

Tāpiri i te kōrero