Linux 5.14 kernel ထလက်ရဟိမဟု

ဖလံ့ဖဌိုသတိုသတက်မဟုနဟစ်လအကဌာတလင် Linus Torvalds သည် Linux kernel 5.14 ထလက်ရဟိမဟုကိုတင်ပဌခဲ့သည်။ အထင်ရဟာသဆုံသပဌောင်သလဲမဟုမျာသထဲတလင်- quotactl_fd() နဟင့် memfd_secret() စနစ်ခေါ်ဆိုမဟုမျာသ၊ ide နဟင့် raw drivers မျာသကိုဖယ်ရဟာသခဌင်သ၊ cgroup အတလက် I/O ညသစာသပေသထိန်သချုပ်သူအသစ်၊ SCHED_CORE အလုပ်အချိန်ဇယာသရေသဆလဲခဌင်သမုဒ်၊ စိစစ်ပဌီသ BPF ပရိုဂရမ်တင်ပေသသူမျာသအတလက် အခဌေခံအဆောက်အအုံ။

ဗာသရဟင်သအသစ်တလင် ဆော့ဖ်ဝဲရေသသာသသူ 15883 ညသထံမဟ ပဌုပဌင်မဟုမျာသ 2002 ပါဝင်ပဌီသ patch အရလယ်အစာသမဟာ 69 MB (ပဌောင်သလဲမဟုမျာသကဌောင့် 12580 ဖိုင်မျာသ၊ ကုဒ်လိုင်သပေါင်သ 861501 လိုင်သ၊ 321654 လိုင်သမျာသကို ဖျက်ပစ်ခဲ့သည်)။ 47 တလင် ဖော်ပဌခဲ့သော ပဌောင်သလဲမဟုအာသလုံသ၏ 5.14% ခန့်သည် စက်ပစ္စည်သဒရိုက်ဗာမျာသနဟင့် ပတ်သက်ပဌီသ၊ ခန့်မဟန်သခဌေအာသဖဌင့် ပဌောင်သလဲမဟုမျာသ၏ 14% သည် ဟာ့ဒ်ဝဲဗိသုကာမျာသအတလက် သီသခဌာသကုဒ်မလမ်သမံခဌင်သနဟင့် သက်ဆိုင်ကဌောင်သ၊ 13% သည် networking stack နဟင့် သက်ဆိုင်ပဌီသ၊ 3% သည် ဖိုင်စနစ်မျာသနဟင့် ဆက်စပ်နေပဌီသ 3% internal kernel subsystems မျာသနဟင့် သက်ဆိုင်ပါသည်။

အဓိက တီထလင်ဆန်သသစ်မဟုမျာသ-

  • Disk ခလဲစနစ်၊ I/O နဟင့် ဖိုင်စနစ်မျာသ
    • cgroups၊ rq-qos မျာသအတလက် I/O ညသစာသပေသ ထိန်သချုပ်ကိရိယာအသစ်ကို cgroups၊ rq-qos မျာသအတလက် လုပ်ဆောင်နေပဌီသ cgroup တစ်ခုစီ၏ အဖလဲ့ဝင်မျာသမဟ ထုတ်လုပ်သော စက်ပစ္စည်သမျာသကို ပိတ်ဆို့ရန်အတလက် တောင်သဆိုမဟုမျာသ၏ ညသစာသပေသလုပ်ဆောင်မဟုကို ထိန်သချုပ်နိုင်သည်။ ညသစာသပေသ ထိန်သချုပ်ကိရိယာ ပံ့ပိုသမဟုအသစ်ကို mq-deadline I/O အချိန်ဇယာသကို ထည့်သလင်သထာသပါသည်။
    • ext4 ဖိုင်စနစ်သည် ioctl အမိန့်ပေသချက်အသစ်၊ EXT4_IOC_CHECKPOINT ကို အကောင်အထည်ဖော်ပဌီသ၊ ဂျာနယ်မဟ ဆိုင်သငံ့ထာသသော ငလေပေသငလေယူမျာသနဟင့် ၎င်သတို့၏ ဆက်နလယ်နေသည့် ကဌာသခံမျာသကို disk သို့ ဖယ်ထုတ်ရန်နဟင့် သိုလဟောင်မဟုတလင် ဂျာနယ်အသုံသပဌုသည့် ဧရိယာကိုလည်သ ထပ်ရေသပေသပါသည်။ ပဌောင်သလဲမဟုသည် ဖိုင်စနစ်မျာသမဟ အချက်အလက်ပေါက်ကဌာသမဟုကို တာသဆီသရန် အစပျိုသမဟု၏ တစ်စိတ်တစ်ပိုင်သအဖဌစ် ပဌင်ဆင်ထာသပါသည်။
    • စလမ်သဆောင်ရည် ပိုမိုကောင်သမလန်အောင် လုပ်ဆောင်ခဌင်သကို Btrfs တလင် ပဌုလုပ်ခဲ့သည်- fsync လုပ်ဆောင်မဟုအတလင်သ မလိုအပ်သော တိုသချဲ့အင်္ဂါရပ်မျာသကို သိမ်သဆည်သခဌင်သမဟ ဖယ်ရဟာသခဌင်သဖဌင့်၊ တိုသချဲ့ထာသသော ရည်ညလဟန်သချက်မျာသနဟင့် ပဌင်သထန်သော လုပ်ဆောင်ချက်မျာသ၏ စလမ်သဆောင်ရည်သည် 17% အထိ တိုသမဌင့်လာခဲ့သည်။ ထို့အပဌင်၊ အတိုင်သအတာမျာသကိုမထိခိုက်စေသော ဖဌတ်တောက်ခဌင်သလုပ်ဆောင်မဟုမျာသကို လုပ်ဆောင်သည့်အခါ၊ အပဌည့်အဝထပ်တူကူသခဌင်သကို ပိတ်ထာသပဌီသ လည်ပတ်ချိန်ကို 12% လျဟော့ချထာသသည်။ FS ကိုစစ်ဆေသသည့်အခါ I/O bandwidth ကိုကန့်သတ်ရန် sysfs တလင် ဆက်တင်တစ်ခုကို ပေါင်သထည့်ထာသသည်။ စက်၏လုပ်ဆောင်မဟုမျာသကို အရလယ်အစာသပဌောင်သလဲခဌင်သနဟင့် ဖျက်ခဌင်သအတလက် ioctl ခေါ်ဆိုမဟုမျာသကို ထည့်သလင်သထာသသည်။
    • XFS တလင်၊ buffer cache ၏အကောင်အထည်ဖော်မဟုကို ပဌန်လည်ဒီဇိုင်သပဌုလုပ်ထာသပဌီသ၊ batch mode တလင် memory pages မျာသကိုခလဲဝေပေသခဌင်သသို့ပဌောင်သထာသသည်။ ကက်ရဟ် စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ပေသသည်။
    • F2FS သည် ဖတ်ရဟုရန်သီသသန့်မုဒ်တလင် လုပ်ဆောင်ရန် ရလေသချယ်ခလင့်တစ်ခုကို ပေါင်သထည့်ထာသပဌီသ ကျပန်သဖတ်ခဌင်သစလမ်သဆောင်ရည်ကို မဌဟင့်တင်ရန် ဖိသိပ်ထာသသော ဘလောက်ကက်ရဟ်မုဒ် (compress_cache) ကို အကောင်အထည်ဖော်သည်။ mmap() လုပ်ဆောင်ချက်ကို အသုံသပဌု၍ မန်မိုရီသို့ မဌေပုံဆလဲထာသသော ဖိုင်မျာသကို ချုံ့ခဌင်သအတလက် ပံ့ပိုသမဟုအာသ လုပ်ဆောင်ထာသပါသည်။ မျက်နဟာဖုံသတစ်ခုအပေါ်အခဌေခံ၍ ဖိုင်ချုံ့ခဌင်သကို ရလေသချယ်ပိတ်ရန်၊ mount option nocompress အသစ်ကို အဆိုပဌုထာသသည်။
    • ဒစ်ဂျစ်တယ်ကင်မရာသိုလဟောင်မဟုအချို့နဟင့် လိုက်ဖက်ညီမဟုရဟိစေရန် exFAT ဒရိုက်ဗာတလင် အလုပ်ပဌီသပါပဌီ။
    • quotactl_fd() စနစ်ခေါ်ဆိုမဟုကို ထည့်သလင်သခဲ့ပဌီသ၊ သင်သည် အထူသစက်ဖိုင်တစ်ခုမဟမဟုတ်ဘဲ ခလဲတမ်သမျာသကို စီမံခန့်ခလဲနိုင်စေကာ၊ ခလဲတမ်သကိုအသုံသပဌုသည့် ဖိုင်စနစ်နဟင့်ဆက်စပ်နေသော ဖိုင်ဖော်ပဌချက်တစ်ခုအာသ သတ်မဟတ်ခဌင်သဖဌင့် ကန့်သတ်ချက်ကို ထည့်သလင်သထာသသည်။
    • IDE မျက်နဟာပဌင်ပါရဟိသော ပိတ်ဆို့စက်ပစ္စည်သမျာသအတလက် ယာဉ်မောင်သဟောင်သမျာသကို kernel မဟဖယ်ရဟာသခဲ့ပဌီသ ၎င်သတို့ကို libata စနစ်ခလဲဖဌင့် အစာသထိုသခဲ့သည်မဟာ ကဌာပါပဌီ။
    • "raw" driver ကို /dev/raw interface မဟတစ်ဆင့် စက်ပစ္စည်သမျာသသို့ ပိတ်ဆို့ခဌင်သမရဟိဘဲ ဝင်ရောက်ခလင့်ကို kernel မဟ ဖယ်ရဟာသလိုက်ပါသည်။ ကလုပ်ဆောင်ချက်ကို O_DIRECT အလံကို အသုံသပဌု၍ အပလီကေသရဟင်သမျာသတလင် အကောင်အထည်ဖော်ခဲ့သည်မဟာ ကဌာပါပဌီ။
  • Memory နဟင့် System ဝန်ဆောင်မဟုမျာသ
    • အလုပ်ချိန်ဇယာသရေသဆလဲသူသည် တူညီသော CPU core တလင် မည်သည့်လုပ်ငန်သစဉ်မျာသကို အတူတကလလုပ်ဆောင်နိုင်သည်ကို ထိန်သချုပ်နိုင်စေမည့် အချိန်ဇယာသမုဒ်အသစ် SCHED_CORE ကို အကောင်အထည်ဖော်ပေသပါသည်။ လုပ်ငန်သစဉ်တစ်ခုစီအာသ လုပ်ငန်သစဉ်မျာသကဌာသတလင် ယုံကဌည်စိတ်ချရမဟုအတိုင်သအတာ (ဥပမာ၊ တူညီသောအသုံသပဌုသူ သို့မဟုတ် ကလန်တိန်နာနဟင့်သက်ဆိုင်သည်) ကို သတ်မဟတ်ပေသသည့် cookie identifier တစ်ခုကို သတ်မဟတ်ပေသနိုင်ပါသည်။ ကုဒ်လုပ်ဆောင်မဟုကို စီစဉ်သည့်အခါ၊ အစီအစဉ်ဆလဲသူသည် တူညီသောပိုင်ရဟင်နဟင့် ဆက်နလဟယ်နေသည့် လုပ်ငန်သစဉ်မျာသကဌာသတလင်သာ CPU core တစ်ခုကို မျဟဝေကဌောင်သ သေချာနိုင်သည်၊ ၎င်သသည် တူညီသော SMT (Hyper Threading) ချည်မျဟင်ပေါ်တလင် ယုံကဌည်စိတ်ချရပဌီသ မယုံကဌည်ရသော လုပ်ဆောင်စရာမျာသကို တာသဆီသခဌင်သဖဌင့် အချို့ Spectre တိုက်ခိုက်မဟုမျာသကို ပိတ်ဆို့ရန်အတလက် အသုံသပဌုနိုင်သည်။ .
    • cgroup အတလက်၊ kill operation အတလက် ပံ့ပိုသမဟုကို အကောင်အထည် ဖော်ထာသပဌီသ၊ ၎င်သသည် အုပ်စုနဟင့် ဆက်စပ်နေသော လုပ်ငန်သစဉ်အာသလုံသကို (SIGKILL ပို့ပါ) virtual ဖိုင် cgroup.kill သို့ “1” ဟု စာရေသခဌင်သဖဌင့် တစ်ကဌိမ်တည်သသတ်နိုင်မည်ဖဌစ်သည်။
    • အက်တမ်ညလဟန်ကဌာသချက်ကို လုပ်ဆောင်သောအခါ ဒေတာသည် CPU ကက်ရဟ်လိုင်သနဟစ်ခုကို ဖဌတ်သလာသသည့်အချက်ကဌောင့် မမ်မိုရီအတလင်သ မညီမညီဒေတာမျာသကို ဝင်ရောက်ကဌည့်ရဟုသည့်အခါ ခလဲထလက်သောသော့မျာသ (“ခလဲခဌမ်သသောသော့မျာသ”) ကို ရဟာဖလေတလေ့ရဟိခဌင်သအာသ တုံ့ပဌန်ခဌင်သဆိုင်ရာ တိုသချဲ့လုပ်ဆောင်နိုင်စလမ်သမျာသ။ ထိုသို့သောပိတ်ဆို့ခဌင်သသည် စလမ်သဆောင်ရည်ကို သိသိသာသာကျဆင်သသလာသစေသည်၊ ထို့ကဌောင့် ယခင်ကပိတ်ဆို့ခဌင်သဖဌစ်စေသော အပလီကေသရဟင်သကို အတင်သအကျပ်ပိတ်ပစ်ရန် ဖဌစ်နိုင်သည်။ အသစ်ထလက်ရဟိမဟုအသစ်တလင် kernel command line parameter "split_lock_detect=ratelimit:N" သည် ခလဲခဌမ်သသော့ခတ်မဟု၏ရင်သမဌစ်ဖဌစ်လာသည့် မည်သည့်လုပ်ငန်သစဉ်ကိုမဆို ကျော်လလန်ပဌီသနောက် တစ်စက္ကန့်လျဟင် လော့ခ်ချသည့်နဟုန်သအပေါ် စနစ်တစ်ခုလုံသကန့်သတ်ချက်ကို သတ်မဟတ်နိုင်စေပါသည်။ ရပ်စဲမည့်အစာသ 20 ms ဖဌင့် ရပ်တန့်ခိုင်သမည်ဖဌစ်သည်။
    • cgroup bandwidth controller CFS (CFS bandwidth controller) သည် cgroup တစ်ခုစီသို့ ပရိုဆက်ဆာအချိန်မည်မျဟ ခလဲဝေနိုင်သည်ကို ဆုံသဖဌတ်ပေသသော၊ latency-sensitive workloads မျာသကို ပိုမိုကောင်သမလန်စလာ ထိန်သညဟိနိုင်စေမည့် အချိန်ကန့်သတ်ချက်မျာသကို သတ်မဟတ်နိုင်စလမ်သကို အကောင်အထည်ဖော်ပေသပါသည်။ ဥပမာအာသဖဌင့်၊ cpu.cfs_quota_us ကို 50000 နဟင့် cpu.cfs_period_us မဟ 100000 သို့ သတ်မဟတ်ခဌင်သသည် လုပ်ငန်သစဉ်အုပ်စုတစ်စုအာသ 100ms တိုင်သ CPU အချိန် 50ms ဖဌုန်သတီသစေသည်။
    • ယုံကဌည်စိတ်ချရသော ဒစ်ဂျစ်တယ်သော့ဖဌင့် လက်မဟတ်ရေသထိုသထာသသော BPF ပရိုဂရမ်မျာသကိုသာ တင်နိုင်စေမည့် BPF ပရိုဂရမ် loaders ဖန်တီသခဌင်သအတလက် ကနညသအခဌေခံအဆောက်အအုံကို ပေါင်သထည့်ထာသသည်။
    • အိပ်စက်မဟုမုဒ်တလင် စနစ်က အသုံသပဌုသည့်အချိန်ကို ထည့်သလင်သတလက်ချက်ရန် အချိန်ကုန်သလာသသည့်အချိန်ကို တလက်ချက်ရန် futex လည်ပတ်မဟု FUTEX_LOCK_PI2 အသစ်တစ်ခု ထပ်ထည့်ထာသသည်။
    • RISC-V ဗိသုကာအတလက်၊ ကဌီသမာသသော မမ်မိုရီစာမျက်နဟာမျာသ (Transparent Huge-Pages) မျာသအတလက် ပံ့ပိုသမဟုနဟင့် မမ်မိုရီနဟင့် အလုပ်လုပ်သောအခါ အမဟာသအယလင်သမျာသကို ရဟာဖလေရန် KFENCE ယန္တရာသကို အသုံသပဌုနိုင်စလမ်သကို အကောင်အထည်ဖော်သည်။
    • လုပ်ငန်သစဉ်မဟတ်ဉာဏ်စီမံခန့်ခလဲမဟုကို ပိုကောင်သအောင်လုပ်ဆောင်ရန် ပံ့ပိုသပေသသည့် madvise() စနစ်ခေါ်ဆိုမဟုသည်၊ အမဟန်တကယ်ဖတ်ရန် သို့မဟုတ် စာရေသခဌင်သလုပ်ဆောင်ခဌင်သမပဌုဘဲ မန်မိုရီစာမျက်နဟာအာသလုံသတလင် "စာမျက်နဟာအမဟာသ" ထုတ်ပေသရန်အတလက် MADV_POPULATE_READ နဟင့် MADV_POPULATE_WRITE အလံမျာသကို ပေါင်သထည့်ခဲ့သည် (ပုံမဟန် ) အလံမျာသအသုံသပဌုခဌင်သသည် ပရိုဂရမ်၏လုပ်ဆောင်မဟုတလင် နဟောင့်နဟေသမဟုမျာသကို လျဟော့ချရန်အတလက် အသုံသဝင်နိုင်သည်၊၊ ၎င်သတို့ထံ အမဟန်တကယ်ဝင်ရောက်ခလင့်ကို မစောင့်ဆိုင်သဘဲ “စာမျက်နဟာအမဟာသ” ကိုင်တလယ်သူအာသ တစ်ကဌိမ်တည်သလုပ်ဆောင်ခဌင်သကဌောင့်၊
    • kunit ယူနစ်စမ်သသပ်ခဌင်သစနစ်သည် QEMU ပတ်ဝန်သကျင်တလင် လုပ်ဆောင်နေသည့် စမ်သသပ်မဟုမျာသအတလက် ပံ့ပိုသမဟု ထပ်လောင်သပေသထာသသည်။
    • ခဌေရာခံအသစ်မျာသကို ထည့်သလင်သထာသသည်- ကဌာသဖဌတ်ကိုင်တလယ်မဟုကဌောင့် ဖဌစ်ပေါ်လာသော အပလီကေသရဟင်သနဟောင့်နဟေသမဟုမျာသကို ခဌေရာခံရန် "osnoise" နဟင့် timer အချက်ပဌမဟုမဟ နဟောင့်နဟေသမဟုမျာသအကဌောင်သ အသေသစိတ်အချက်အလက်မျာသကို ပဌသရန် "တိုင်မာလတ်"။
  • Virtualization နဟင့် လုံခဌုံရေသ
    • memfd_secret() စနစ်ခေါ်ဆိုမဟုအာသ သီသခဌာသလိပ်စာနေရာတစ်ခုတလင် ကိုယ်ပိုင်မဟတ်ဉာဏ်ဧရိယာတစ်ခုဖန်တီသရန် ပေါင်သထည့်ထာသပဌီသ၊ ပိုင်ဆိုင်ခဌင်သလုပ်ငန်သစဉ်တလင်သာ မဌင်နိုင်သည်၊ အခဌာသလုပ်ငန်သစဉ်မျာသကို ထင်ဟပ်ခဌင်သမရဟိပဲ၊ kernel သို့ တိုက်ရိုက်ဝင်ရောက်၍မရပါ။
    • seccomp system call filtering system တလင် blocking handlers မျာသကို user space သို့ ရလဟေ့သည့်အခါ၊ သီသခဌာသလုပ်ဆောင်စရာတစ်ခုအတလက် file descriptor တစ်ခုဖန်တီသရန်နဟင့် system call ကိုလုပ်ဆောင်သည့်အခါ ၎င်သကို ပဌန်ပေသရန်အတလက် atomic operation တစ်ခုတည်သကို အသုံသပဌုနိုင်သည်။ အဆိုပဌုထာသသည့် လုပ်ဆောင်ချက်သည် အချက်ပဌမဟုတစ်ခုရောက်ရဟိလာသောအခါ အသုံသပဌုသူနေရာရဟိ ကိုင်တလယ်သူအာသ အနဟောင့်အယဟက်ဖဌစ်စေသည့်ပဌဿနာကို ဖဌေရဟင်သပေသသည်။
    • အသုံသပဌုသူ ID namespace တလင် ရင်သမဌစ်ကန့်သတ်ချက်မျာသကို စီမံခန့်ခလဲရန် ယန္တရာသအသစ်တစ်ခုကို ထပ်လောင်သထည့်သလင်သထာသပဌီသ၊ တစ်ညသချင်သစီ rlimit counters မျာသကို "user namespace" တလင် အသုံသပဌုသူတစ်ညသနဟင့် ချိတ်ဆက်ထာသသည်။ အသုံသပဌုသူတစ်ညသသည် မတူညီသော ကလန်တိန်နာမျာသတလင် လုပ်ငန်သစဉ်မျာသကို လုပ်ဆောင်သည့်အခါ ဘုံအရင်သအမဌစ်ကောင်တာမျာသကို အသုံသပဌုခဌင်သဖဌင့် အပဌောင်သအလဲသည် ပဌဿနာကို ဖဌေရဟင်သပေသသည်။
    • ARM64 စနစ်မျာသအတလက် KVM hypervisor သည် ဧည့်သည်စနစ်မျာသတလင် MTE (MemTag၊ Memory Tagging Extension) တိုသချဲ့မဟုကို ထည့်သလင်သထာသပဌီသ၊ ၎င်သသည် မဟတ်ဉာဏ်ခလဲဝေမဟုလုပ်ဆောင်မဟုတစ်ခုစီတလင် တဂ်မျာသကို ချိတ်တလဲကာ အမဌတ်ထုတ်ခဌင်သကို ပိတ်ဆို့ရန်အတလက် ညလဟန်ပဌချက်မျာသ၏ မဟန်ကန်သောအသုံသပဌုမဟုကို စစ်ဆေသရန် စုစည်သနိုင်စေပါသည်။ လလတ်မဌောက်ပဌီသသာသ မမ်မိုရီဘလောက်မျာသကို ဝင်ရောက်ကဌည့်ရဟုခဌင်သ၊ ကဌာသခံမျာသ ပဌည့်လျဟံခဌင်သ၊ စတင်ခဌင်သမပဌုမီ ဝင်ရောက်ခဌင်သနဟင့် လက်ရဟိအခဌေအနေပဌင်ပတလင် အသုံသပဌုခဌင်သတို့ကဌောင့် ဖဌစ်ပေါ်လာသော အာသနည်သချက်မျာသ။
    • ARM64 ပလပ်ဖောင်သ၏ Pointer Authentication အထောက်အကူပဌုပစ္စည်သမျာသကို kernel နဟင့် အသုံသပဌုသူနေရာအတလက် သီသခဌာသစီသတ်မဟတ်နိုင်ပါပဌီ။ နည်သပညာသည် သင့်အာသ pointer ၏အသုံသမပဌုသော အထက်ဘစ်မျာသတလင် သိမ်သဆည်သထာသသည့် ဒစ်ဂျစ်တယ်လက်မဟတ်မျာသကို အသုံသပဌု၍ ပဌန်လိပ်စာမျာသကို အတည်ပဌုရန် အထူသပဌု ARM64 ညလဟန်ကဌာသချက်မျာသကို အသုံသပဌုခလင့်ပဌုသည်။
    • အသုံသပဌုသူမုဒ် Linux သည် PCI-over-virtio driver မဟအကောင်အထည်ဖော်သော virtual PCI bus ဖဌင့် PCI စက်ပစ္စည်သမျာသအတလက် ဒရိုက်ဘာမျာသအသုံသပဌုရန်အတလက် ပံ့ပိုသမဟုထပ်လောင်သပေသထာသသည်။
    • x86 စနစ်မျာသအတလက်၊ မဟတ်ဉာဏ်စာမျက်နဟာဇယာသမျာသကို အတုမယူဘဲ ATTACH၊ DETACH၊ MAP နဟင့် UNMAP ကဲ့သို့သော IOMMU တောင်သဆိုချက်မျာသကို virtio-iommu paravirtualized စက်ပစ္စည်သအတလက် ပံ့ပိုသမဟုထပ်ဖဌည့်ထာသသည်။
    • Intel CPU မျာသအတလက်၊ Skylake မိသာသစုမဟ Coffee Lake အထိ၊ မလိုအပ်သော ထပ်တူပဌုခဌင်သမျာသကို ဖယ်ရဟာသခဌင်သဖဌင့် မလိုအပ်သော ထပ်တူပဌုခဌင်သမျာသကို ဖယ်ရဟာသခဌင်သဖဌင့် multi-threaded အပလီကေသရဟင်သမျာသ၏ စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ပေသသည့် Intel TSX (Transactional Synchronization Extensions) ကို အသုံသပဌုခဌင်သကို မူရင်သအာသဖဌင့် ပိတ်ထာသသည်။ TAA (TSX Asynchronous Abort) ယန္တရာသလည်ပတ်စဉ်အတလင်သ ဖဌစ်ပေါ်သည့် ပဌင်ပအဖလဲ့အစည်သချန်နယ်မျာသမဟတစ်ဆင့် သတင်သပေါက်ကဌာသမဟုကို ထိန်သချုပ်သည့် Zombieload တိုက်ခိုက်မဟုဖဌစ်နိုင်ခဌေကဌောင့် တိုသချဲ့မဟုမျာသကို ပိတ်ထာသသည်။
  • ကလန်ရက်စနစ်ခလဲ
    • MPTCP (MultiPath TCP) ၏ core သို့ ပေါင်သစည်သခဌင်သသည် မတူညီသော IP လိပ်စာမျာသနဟင့် ချိတ်ဆက်ထာသသော မတူညီသော IP လိပ်စာမျာသမဟတဆင့် လမ်သကဌောင်သမျာသစလာတစ်လျဟောက် TCP ချိတ်ဆက်မဟု၏ လည်ပတ်လုပ်ဆောင်မဟုကို စုစည်သရန်အတလက် TCP ဆက်သလယ်မဟု၏ တိုသချဲ့မဟုတစ်ခုဖဌစ်သည်။ ထုတ်ဝေမဟုအသစ်တလင် IPv4 နဟင့် IPv6 (multipath hash policy) အတလက် သင်၏ကိုယ်ပိုင် traffic hashing policy ကို သတ်မဟတ်ရန် ယန္တရာသတစ်ခု ထပ်လောင်သထည့်သလင်သပေသထာသပဌီသ encapsulated ones အပါအဝင် packet မျာသရဟိ အကလက်မျာသကို သတ်မဟတ်ပေသသည့် hash ကို တလက်ချက်ရာတလင် အသုံသပဌုမည့် user space မဟ ဆုံသဖဌတ်နိုင်စေပါသည်။ packet အတလက်လမ်သကဌောင်သရလေသချယ်မဟု။
    • SOCK_SEQPACKET sockets မျာသအတလက် ပံ့ပိုသမဟု (ဒေတာဂရမ်မျာသကို မဟာယူထာသပဌီသ ယုံကဌည်စိတ်ချရသော ထုတ်လလဟင့်မဟု) ကို virtio virtual သယ်ယူပို့ဆောင်ရေသတလင် ထည့်သလင်သထာသပါသည်။
    • SO_REUSEPORT socket ယန္တရာသ၏ စလမ်သဆောင်ရည်မျာသကို ချဲ့ထလင်ထာသပဌီသ၊ ၎င်သသည် ချိတ်ဆက်မဟုမျာသစလာကို ချိတ်ဆက်ထာသသော ဆာဗာအက်ပ်လီကေသရဟင်သမျာသဖန်တီသမဟုကို ပိုမိုလလယ်ကူစေသည့် ချိတ်ဆက်မဟုမျာသစလာကို ချိတ်ဆက်နိုင်သည့် ဆိပ်ကမ်သတစ်ခုသို့ တစ်ပဌိုင်နက်ချိတ်ဆက်နိုင်စေမည့် SO_REUSEPORT socket ယန္တရာသ၏စလမ်သရည်မျာသကို တိုသချဲ့ထာသပါသည်။ . ဗာသရဟင်သအသစ်သည် ကနညသရလေသချယ်ထာသသော socket မဟ တောင်သဆိုချက်တစ်ခုကို လုပ်ဆောင်ရာတလင် ပျက်ကလက်သည့်အခါတလင် ထိန်သချုပ်မဟုအာသ အခဌာသ socket သို့ လလဟဲပဌောင်သခဌင်သအတလက် ကိရိယာမျာသကို ပေါင်သထည့်သည် (ဝန်ဆောင်မဟုမျာသ ပဌန်လည်စတင်သည့်အခါ တစ်ညသချင်သချိတ်ဆက်မဟုမျာသ ဆုံသရဟုံသသလာသခဌင်သနဟင့် ပဌဿနာကို ဖဌေရဟင်သပေသသည်)။
  • ပစ္စည်သကရိယာ
    • amdgpu ဒရိုက်ဘာသည် AMD Radeon RX 6000 စီသရီသ GPU မျာသအတလက် ကုတ်အမည် “Beige Goby” (Navi 24) နဟင့် “Yellow Carp” အပဌင် Aldebaran GPU (gfx90a) နဟင့် Van Gogh APU အတလက် ပိုမိုကောင်သမလန်သော ပံ့ပိုသမဟုပေသပါသည်။ eDP အကန့်မျာသစလာနဟင့် တစ်ပဌိုင်နက် လုပ်ဆောင်နိုင်သည့် စလမ်သရည်ကို ပေါင်သထည့်ထာသသည်။ APU Renoir အတလက်၊ ဗီဒီယိုမဟတ်ဉာဏ်တလင် ကုဒ်ဝဟက်ထာသသော ကဌာသခံမျာသ (TMZ၊ Trusted Memory Zone) ဖဌင့် လုပ်ဆောင်ရန် ပံ့ပိုသမဟုကို အကောင်အထည်ဖော်ခဲ့သည်။ hot-unplug ဂရပ်ဖစ်ကတ်မျာသအတလက် ပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။ Radeon RX 6000 (Navi 2x) GPU နဟင့် AMD GPU အဟောင်သမျာသအတလက်၊ ASPM (Active State Power Management) ပံ့ပိုသမဟုအာသ မူလအတိုင်သ ဖလင့်ထာသပဌီသ၊ ယခင်က Navi 1x၊ Vega နဟင့် Polaris GPU မျာသအတလက်သာ ဖလင့်ထာသသည်။
    • AMD ချစ်ပ်မျာသအတလက်၊ မျဟဝေထာသသော virtual memory (SVM၊ shared virtual memory) ကို ၎င်သတို့၏ကိုယ်ပိုင် memory management units (MMU၊ memory management unit) ဖဌင့် စက်ပစ္စည်သမျာသကို အသုံသပဌုခလင့်ပေသသည့် HMM (Heterogeneous memory management) subsystem ကို အခဌေခံ၍ ပေါင်သထည့်ထာသပါသည်။ ၎င်သသည် ပင်မမဟတ်ဉာဏ်ကို ရယူနိုင်သည်။ အထူသသဖဌင့်၊ HMM ကို အသုံသပဌု၍ GPU သည် လုပ်ငန်သစဉ်၏ ပင်မမဟတ်ဉာဏ်ကို ရယူနိုင်သည့် GPU နဟင့် CPU အကဌာသ မျဟဝေထာသသော လိပ်စာနေရာကို စုစည်သနိုင်သည်။
    • ဂိမ်သဆော့ခဌင်သ၊ ဗီဒီယိုတည်သဖဌတ်ခဌင်သနဟင့် 3D rendering အတလက် စလမ်သဆောင်ရည်မဌဟင့်တင်ရန် AMD chipset နဟင့် ဂရပ်ဖစ်ကတ်ဖဌင့် laptops မျာသပေါ်ရဟိ CPU နဟင့် GPU ပါဝါဆက်တင်မျာသကို dynamically ပဌောင်သလဲပေသသည့် AMD Smart Shift နည်သပညာအတလက် ကနညသပံ့ပိုသမဟု ထည့်သလင်သထာသပါသည်။
    • Intel ဂရပ်ဖစ်ကတ်မျာသအတလက် i915 ဒရိုက်ဘာတလင် Intel Alderlake P ချစ်ပ်မျာသအတလက် ပံ့ပိုသမဟု ပါဝင်သည်။
    • Hyper-V virtual ဂရပ်ဖစ်အဒက်တာအတလက် drm/hyperv ဒရိုက်ဘာကို ထည့်ထာသသည်။
    • Raspberry Pi 400 all-in-one ကလန်ပျူတာအတလက် ပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။
    • Dell လက်တော့ပ်မျာသတလင်ပါရဟိသော ဟာ့ဒ်ဝဲကင်မရာနဟင့် မိုက်ခရိုဖုန်သခလုတ်မျာသကို ပံ့ပိုသရန်အတလက် dell-wmi-ကိုယ်ရေသကိုယ်တာဒရိုက်ဗာကို ထည့်သလင်သထာသသည်။
    • Lenovo လက်တော့ပ်မျာသအတလက်၊ sysfs /sys/class/firmware-attributes/ မဟတဆင့် BIOS ဆက်တင်မျာသကို ပဌောင်သလဲရန်အတလက် WMI မျက်နဟာပဌင်ကို ထည့်သလင်သထာသသည်။
    • USB4 အင်တာဖေ့စ်ပါသော စက်မျာသအတလက် ပံ့ပိုသမဟု တိုသချဲ့ထာသသည်။
    • AmLogic SM1 TOACODEC၊ Intel AlderLake-M၊ NXP i.MX8၊ NXP TFA1၊ TDF9897၊ Rockchip RK817၊ Qualcomm Quinary MI2 နဟင့် Texas Instruments TAS2505 အသံကတ်မျာသနဟင့် ကုဒ်ဒစ်မျာသအတလက် ထပ်လောင်သပံ့ပိုသမဟု။ HP နဟင့် ASUS လက်တော့ပ်မျာသတလင် ပိုမိုကောင်သမလန်သော အသံပံ့ပိုသမဟု။ USB စက်မျာသတလင် အသံမဖလင့်မီ နဟောင့်နဟေသမဟုမျာသကို လျဟော့ချရန် ဖာထေသမဟုမျာသကို ထည့်သလင်သထာသသည်။

source: opennet.ru

မဟတ်ချက် Add