Linux kernel ခေါင်းစီးဖိုင်များကို ပြန်လည်ဖွဲ့စည်းခြင်းနှင့်အတူ ဖာထေးမှု၏ ဒုတိယဗားရှင်း

Ingo Molnar သည် kernel ပြန်လည်တည်ဆောက်ချိန်ကို သိသာထင်ရှားစွာ လျှော့ချပေးနိုင်သည့် ဖာထေးမှုအစု၏ ဒုတိယဗားရှင်းကို တင်ပြခဲ့ပြီး ခေါင်းစီးဖိုင်များ၏ အထက်တန်းဖိုင်များကို ပြန်လည်တည်ဆောက်ကာ အပြန်အလှန်မှီခိုမှုအရေအတွက်ကို လျှော့ချခြင်းဖြင့် ကာနယ်ကို ပြန်လည်တည်ဆောက်နိုင်ခဲ့သည်။ ဗားရှင်းအသစ်သည် 5.16-rc8 kernel အတွက် လိုက်လျောညီထွေဖြစ်အောင် ပြုလုပ်ပြီး Clang compiler ကို အသုံးပြု၍ တည်ဆောက်ခြင်းအတွက် ပံ့ပိုးကူညီမှုများ ပေါင်းထည့်ကာ ဗားရှင်းအသစ်သည် လွန်ခဲ့သည့်ရက်အနည်းငယ်က အဆိုပြုထားသည့် ပထမဗားရှင်းနှင့် ကွဲပြားသည်။ Clang ကိုအသုံးပြုသောအခါ၊ ဖာထေးမှုများကိုအသုံးပြုခြင်းဖြင့် CPU အရင်းအမြစ်သုံးစွဲမှု၏သတ်မှတ်ချက်တွင်တည်ဆောက်ချိန်ကို 88% သို့မဟုတ် 77% လျှော့ချသည်။ "make -j96 vmlinux" ဟူသော command ဖြင့် kernel ကို လုံးဝပြန်လည်တည်ဆောက်သောအခါ၊ တည်ဆောက်ချိန်ကို 337.788 မှ 179.773 စက္ကန့်သို့ လျှော့ချခဲ့သည်။

ဗားရှင်းအသစ်သည် GCC ပလပ်အင်များနှင့် ပြဿနာကို ဖြေရှင်းပေးသည်၊ ကနဦးပြန်လည်သုံးသပ်ခြင်းလုပ်ငန်းစဉ်အတွင်း ဖော်ထုတ်ထားသော အမှားများကို ပြုပြင်ပေးကာ “task_struct_per_task” ဖွဲ့စည်းပုံ၏ ထပ်နေသော ကြေငြာချက်များကို ပေါင်းစပ်ပေးပါသည်။ ထို့အပြင်၊ linux/sched.h header ဖိုင်၏ အကောင်းဆုံးဖြစ်အောင် ဆက်လက်လုပ်ဆောင်ပြီး RDMA စနစ်ခွဲ (infiniband) ၏ ခေါင်းစီးဖိုင်များကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းကို လုပ်ဆောင်ခဲ့ပြီး ပထမဗားရှင်းနှင့် နှိုင်းယှဉ်ပါက တည်ဆောက်ချိန်ကို 9% ပိုမိုလျှော့ချနိုင်စေခဲ့သည်။ ဖာထေးမှုများ၏ linux/sched.h ခေါင်းစီးဖိုင်ပါ၀င်သည့် kernel C ဖိုင်အရေအတွက်ကို ဖာထေးမှု၏ပထမဗားရှင်းနှင့်နှိုင်းယှဉ်ပါက 68% မှ 36% သို့ လျှော့ချလိုက်သည် (မူရင်း kernel နှင့် နှိုင်းယှဉ်ပါက 99% မှ 36%)။

source: opennet.ru

မှတ်ချက် Add