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

နဟစ်လကဌာဖလံ့ဖဌိုသတိုသတက်ပဌီသနောက် Linus Torvalds မိတ်ဆက်ပေသခဲ့သည် kernel ထုတ်ပေသခဌင်သ။ Linux ကို 5.6. အသိသာဆုံသသောပဌောင်သလဲမဟုမျာသထဲတလင်- WireGuard VPN အင်တာဖေ့စ်ပေါင်သစည်သမဟု၊ USB4 အတလက်ပံ့ပိုသမဟု၊ အချိန်အတလက် namespaces၊ BPF ကိုအသုံသပဌု၍ TCP congestion handlers ကိုဖန်တီသနိုင်မဟု၊ MultiPath TCP အတလက် ကနညသပံ့ပိုသမဟု၊ 2038 ပဌဿနာ၏ kernel ကိုဖယ်ရဟာသခဌင်သ၊ "bootconfig" ယန္တရာသ , ZoneFS ။

ဗာသရဟင်သအသစ်တလင် developer 13702 ထံမဟ ပဌင်ဆင်ချက် 1810 ပါဝင်သည်။
patch အရလယ်အစာသ - 40 MB (ပဌောင်သလဲမဟု 11577 ဖိုင်မျာသ၊ ကုဒ်လိုင်သပေါင်သ 610012 ကို ထည့်သလင်သခဲ့သည်၊
၂၉၇၄၀၁ တန်သကို ဖယ်ရဟာသခဲ့သည်။) 294828 တလင်တင်ပဌသူအာသလုံသ၏ 45% ခန့်
အပဌောင်သအလဲမျာသသည် စက်ပစ္စည်သဒရိုက်ဗာမျာသနဟင့် ဆက်စပ်နေပဌီသ အပဌောင်သအလဲမျာသ၏ 15% ခန့်ရဟိသည်။
ဟာ့ဒ်ဝဲဗိသုကာမျာသဆိုင်ရာ ကုဒ်သီသသန့် အပ်ဒိတ်လုပ်ခဌင်သအပေါ် သဘောထာသ 12%၊
ကလန်ရက် stack နဟင့်ဆက်စပ်မဟု၊ ဖိုင်စနစ်မျာသနဟင့် 4% နဟင့် internal 3% တို့ဖဌစ်သည်။
kernel ခလဲစနစ်မျာသ။

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

  • ကလန်ရက်စနစ်ခလဲ
    • ထပ်ပဌောပါသည်။ VPN interface ကို အကောင်အထည်ဖော်ခဌင်သ။ WireGuardခေတ်မီ ကုဒ်ဝဟက်ခဌင်သနည်သလမ်သမျာသ (ChaCha20၊ Poly1305၊ Curve25519၊ BLAKE2s) ကို အခဌေခံ၍ အကောင်အထည်ဖော်ထာသသည့်၊ အသုံသပဌုရလလယ်ကူပဌီသ ရဟုပ်ထလေသမဟုမျာသ ကင်သစင်ကာ ကဌီသမာသသော အကောင်အထည်ဖော်မဟုမျာသတလင် ၎င်သကိုယ်တိုင် သက်သေပဌခဲ့ပဌီသ အလလန်မဌင့်မာသသော စလမ်သဆောင်ရည်ကို ပေသဆောင်သည် (ဝေါဟာရအရ OpenVPN ထက် ၃.၉ ဆ ပိုမဌန်ပါသည်။ ဖဌတ်သန်သမဟု)။ WireGuard သည် ကလန်ရက်အင်တာဖေ့စ်တစ်ခုစီတလင် လျဟို့ဝဟက်ကီသတစ်ခုကို ချိတ်တလဲကာ အမျာသသူငဟာသော့မျာသကို ချိတ်ရန် ၎င်သကိုအသုံသပဌုခဌင်သပါ၀င်သော ကုဒ်ဝဟက်ခဌင်သသော့လမ်သကဌောင်သတင်ခဌင်သ၏ သဘောတရာသကို အသုံသပဌုသည်။ SSH နဟင့် အလာသတူသော ချိတ်ဆက်မဟုတစ်ခုကို တည်ဆောက်ရန်အတလက် အမျာသသူငဟာသော့မျာသကို လဲလဟယ်သည်။ WireGuard အလုပ်လုပ်ရန် လိုအပ်သော လျဟို့ဝဟက်ရေသဆိုင်ရာ အခဌေခံမျာသ ဒါဟာခဲ့ သယ်ဆောင်သလာသသည်။ စာကဌည့်တိုက်မဟ သလယ် စံ Crypto API ၏ တစ်စိတ်တစ်ပိုင်သအနေနဟင့် ပါဝင်ပါသည်။ core သို့ 5.5.
    • စတင်ခဲ့သည် MPTCP (MultiPath TCP) ကို ပံ့ပိုသရန် လိုအပ်သော အစိတ်အပိုင်သမျာသ ပေါင်သစည်သခဌင်သ TCP ပရိုတိုကော၏ လည်ပတ်ဆောင်ရလက်မဟုကို လမ်သကဌောင်သမျာသစလာတစ်လျဟောက် အစုံလိုက်မျာသ ပေသပို့ခဌင်သနဟင့်အတူ TCP ဆက်သလယ်မဟု၏ တိုသချဲ့မဟု။ ကလန်ရက်အပလီကေသရဟင်သမျာသအတလက်၊ ထိုသို့သော ပေါင်သစည်သချိတ်ဆက်မဟုသည် ပုံမဟန် TCP ချိတ်ဆက်မဟုတစ်ခုနဟင့်တူပဌီသ စီသဆင်သမဟုပိုင်သခဌာသခဌင်သဆိုင်ရာ ယုတ္တိဗေဒအာသလုံသကို MPTCP မဟ လုပ်ဆောင်ပါသည်။ Multipath TCP ကို ​​ဖဌတ်သန်သမဟု တိုသမဌဟင့်ရန်နဟင့် ယုံကဌည်စိတ်ချရမဟု တိုသမဌင့်ရန် နဟစ်မျိုသလုံသ အသုံသပဌုနိုင်သည်။ ဥပမာအာသဖဌင့်၊ MPTCP သည် WiFi နဟင့် 4G လင့်ခ်မျာသကို တစ်ပဌိုင်နက်အသုံသပဌု၍ စမတ်ဖုန်သပေါ်တလင် ဒေတာထုတ်လလဟင့်မဟုကို စုစည်သရန် သို့မဟုတ် စျေသပေါသောလင့်ခ်မျာသစလာကို အသုံသပဌု၍ ဆာဗာတစ်ခုကို ချိတ်ဆက်ခဌင်သဖဌင့် ကုန်ကျစရိတ်လျဟော့ချရန် အသုံသပဌုနိုင်သည်။
    • ထပ်ပဌောပါသည်။ ကလန်ရက် တန်သစီခဌင်သ လုပ်ဆောင်ခဌင်သ စည်သကမ်သ sch_ets (ပိုမိုကောင်သမလန်သော ဂီယာရလေသချယ်မဟု, IEEE 802.1Qaz) သည် မတူညီသော အသလာသအလာ အတန်သမျာသကဌာသတလင် bandwidth ဖဌန့်ဝေနိုင်စလမ်သကို ထောက်ပံ့ပေသသည်။ အကယ်၍ ယာဉ်ကဌောအသလာသအလာ အတန်သအစာသတစ်ခု၏ load သည် ခလဲဝေချထာသပေသသော bandwidth အောက်တလင် ရဟိနေပါက၊ ETS သည် အခဌာသသော traffic classes မျာသကို ရရဟိနိုင်သော (အသုံသမပဌုသော) bandwidth ကို အသုံသပဌုရန် ခလင့်ပဌုပါသည်။ Qdisc sch_ets ကို PRIO စည်သကမ်သအဖဌစ် ပဌင်ဆင်သတ်မဟတ်ထာသပဌီသ တင်သကျပ်ပဌီသ မျဟဝေထာသသော လဟိုင်သနဟုန်သကန့်သတ်ချက်မျာသကို သတ်မဟတ်ရန်အတလက် အသလာသအလာ အတန်သအစာသမျာသကို အသုံသပဌုပါသည်။ ETS သည် စည်သမျဥ်သစည်သကမ်သမျာသ ပေါင်သစပ်မဟုတစ်ခုအဖဌစ် လုပ်ဆောင်သည်။ ကဌိုတင် О ဘေသအန္တရာယ်လျော့ချရေသ — တင်သကဌပ်စလာကန့်သတ်ထာသသောယာဉ်အသလာသအလာအတန်သမျာသရဟိပါက PRIO ကိုအသုံသပဌုသည်၊ သို့သော်တန်သစီတလင်အသလာသအလာမရဟိပါက၊ ၎င်သသည် DRR ကဲ့သို့အလုပ်လုပ်သည်။
    • BPF ပရိုဂရမ် အမျိုသအစာသအသစ်ကို ပေါင်သထည့်ခဲ့သည်။ BPF_PROG_TYPE_STRUCT_OPSBPF မဟတဆင့် kernel function handlers ကိုအကောင်အထည်ဖော်ရန်ခလင့်ပဌုသည်။ လောလောဆယ်တလင်၊ ကအင်္ဂါရပ်ကို BPF ပရိုဂရမ်မျာသပုံစံဖဌင့် TCP congestion control algorithms ကိုအကောင်အထည်ဖော်ရန် အသုံသပဌုပဌီသဖဌစ်သည်။ ဥပမာတစ်ခုအနေနဲ့ အဆိုပဌုသည်။ algorithm အကောင်အထည်ဖော်မဟုနဟင့်အတူ BPF ပရိုဂရမ် DCTCP.
    • အူတိုင်သို့လက်ခံခဲ့သည်။ အပဌောင်သအလဲမျာသ၊ ဘာသာပဌန်ကိရိယာမျာသ ။ ioctl() ဖဌင့် အသုံသပဌုနိုင်သည်။ netlink အင်တာဖေ့စ်. အင်တာဖေ့စ်အသစ်သည် တိုသချဲ့မဟုမျာသထည့်ရန် ပိုမိုလလယ်ကူစေသည်၊ အမဟာသအယလင်သမျာသကို ကိုင်တလယ်ခဌင်သအာသ ပိုမိုကောင်သမလန်စေသည်၊ ပဌည်နယ်ပဌောင်သလဲသည့်အခါ အကဌောင်သကဌာသချက်မျာသကို ပေသပို့နိုင်စေသည်၊၊ kernel နဟင့် အသုံသပဌုသူနေရာတို့ကဌာသ အပဌန်အလဟန်ဆက်သလယ်မဟုကို ရိုသရဟင်သစေကာ၊ ထပ်တူပဌုရန်လိုအပ်သည့် အမည်စာရင်သမျာသကို လျဟော့ချပေသသည်။
    • FQ-PIE (Flow Queue PIE) ကလန်ရက် တန်သစီစီမံခန့်ခလဲရေသ အယ်လဂိုရီသမ်ကို အနာသသတ်ကလန်ရက်ကိရိယာမျာသ (bufferbloat) တလင် အလယ်အလတ် ပက်ကတ်ကဌာသခံခဌင်သ၏ အပျက်သဘောဆောင်သော သက်ရောက်မဟုကို လျဟော့ချရန် ရည်ရလယ်၍ ထပ်လောင်သအကောင်အထည်ဖော်ခဌင်သ။ FQ-PIE သည် cable modems ရဟိသော စနစ်မျာသတလင် အသုံသပဌုသောအခါ မဌင့်မာသသော စလမ်သဆောင်ရည်ကို ပဌသသည်။
  • Disk ခလဲစနစ်၊ I/O နဟင့် ဖိုင်စနစ်မျာသ
    • Btrfs ဖိုင်စနစ်အတလက် ထပ်ပဌောသည်။ DISCARD လုပ်ဆောင်ချက်ကို တပဌိုင်နက်တည်သ အကောင်အထည်ဖော်ခဌင်သ (ရုပ်ပိုင်သဆိုင်ရာ သိမ်သဆည်သရန် မလိုအပ်တော့သော လလတ်မဌောက်လာသော ဘလောက်မျာသကို အမဟတ်အသာသပဌုခဌင်သ)။ အစပိုင်သတလင်၊ DISCARD လုပ်ဆောင်ချက်မျာသကို တစ်ပဌိုင်နက်တည်သ လုပ်ဆောင်ခဲ့ပဌီသ ၎င်သသည် သက်ဆိုင်ရာ command မျာသကို ပဌီသမဌောက်ရန် စောင့်ဆိုင်သနေသော drives မျာသကဌောင့် စလမ်သဆောင်ရည် ကျဆင်သသလာသနိုင်သည်။ Asynchronous အကောင်အထည်ဖော်မဟုသည် DISCARD ကို အပဌီသသတ်ပဌီသ ကလုပ်ဆောင်ချက်ကို နောက်ခံတလင် လုပ်ဆောင်ရန် ဒရိုက်ကို စောင့်ဆိုင်သရန် သင့်အာသ ခလင့်ပဌုပါသည်။
    • XFS တလင် လုပ်သည် 32-bit time counters အဟောင်သမျာသကို အသုံသပဌုထာသသည့် ကုဒ်ကို ရဟင်သလင်သခဌင်သ (time_t အမျိုသအစာသကို time64_t ဖဌင့် အစာသထိုသထာသသည်) သည် 2038 ပဌဿနာကို ဖဌစ်ပေါ်စေသည်။ 32-bit ပလပ်ဖောင်သမျာသတလင် ဖဌစ်ပေါ်ခဲ့သော အမဟာသမျာသနဟင့် မဟတ်ဉာဏ်ယိုယလင်သမဟုကို ပဌင်ဆင်ပါ။ တိုသချဲ့ထာသသော အရည်အချင်သမျာသနဟင့် အလုပ်လုပ်ရန် ကုဒ်ကို ပဌန်လည်ပဌင်ဆင်ထာသပါသည်။
    • ext4 ဖိုင်စနစ်သို့ ပါဝင်သည် ဖတ်ရဟုခဌင်သ နဟင့် ရေသသာသခဌင်သ လုပ်ဆောင်ချက်မျာသအတလင်သ inode လော့ခ်ချခဌင်သကို ကိုင်တလယ်ခဌင်သနဟင့် ဆက်စပ်သော စလမ်သဆောင်ရည် ပိုမိုကောင်သမလန်အောင် လုပ်ဆောင်ခဌင်သမျာသ။ Direct I/O မုဒ်တလင် ပဌန်လည်ရေသသာသခဌင်သ စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ထာသသည်။ ပဌဿနာမျာသကို အဖဌေရဟာရာတလင် ရိုသရဟင်သစေရန်၊ ပထမနဟင့် နောက်ဆုံသ အမဟာသကုဒ်မျာသကို superblock တလင် သိမ်သဆည်သထာသသည်။
    • F2FS ဖိုင်စနစ်တလင် အကောင်အထည်ဖော်ခဲ့သည်။ data တလေကို compressed form နဲ့ သိမ်သထာသနိုင်တယ်။ ဖိုင်တစ်ခုချင်သစီ သို့မဟုတ် လမ်သညလဟန်တစ်ခုအတလက်၊ "chattr +c ဖိုင်" သို့မဟုတ် "chattr +c dir" command ကို အသုံသပဌု၍ ချုံ့နိုင်သည်; dir/file ကိုနဟိပ်ပါ။ partition တစ်ခုလုံသကို ချုံ့ရန်၊ သင်သည် mount utility တလင် "-o compress_extension=ext" option ကို သုံသနိုင်သည်။
    • Kernel တလင် ဖိုင်စနစ်တစ်ခု ပါဝင်သည်။ ဇုန်ဇုန်သတ်မဟတ်ထာသသော သိုလဟောင်မဟုကိရိယာမျာသဖဌင့် အဆင့်နိမ့်အလုပ်မျာသကို ရိုသရဟင်သစေပါသည်။ Zoned drives ဆိုသည်မဟာ ဟာ့ဒ်သံလိုက်ဒစ်မျာသ သို့မဟုတ် NVMe SSDs မျာသရဟိ စက်ပစ္စည်သမျာသကိုဆိုလိုသည်၊ ဘလောက်မျာသအုပ်စုမျာသ သို့မဟုတ် ကဏ္ဍမျာသအဖဌစ် ဒေတာကို စဉ်ဆက်မပဌတ်ထပ်တိုသခလင့်ပဌုထာသပဌီသ ဘလောက်အုပ်စုတစ်ခုလုံသကို အပ်ဒိတ်လုပ်သည့် ဇုန်မျာသ သို့မဟုတ် ကဏ္ဍမျာသအဖဌစ် ပိုင်သခဌာသထာသသည့် သိုလဟောင်နေရာနေရာကို ဆိုလိုသည်။ FS ZoneFS ကို Western Digital မဟ ဖန်တီသထာသပဌီသ ကဏ္ဍနဟင့် ပိတ်ဆို့အဆင့်တလင် ကိုင်တလယ်ခဌင်သမပဌုဘဲ ဒေတာကို အကဌမ်သမုဒ်တလင် သိမ်သဆည်သရန် သီသခဌာသဖိုင်တစ်ခုဖဌင့် drive အတလင်သရဟိ ဇုန်တစ်ခုစီကို တလဲဖက်ထာသသည်။ အပလီကေသရဟင်သမျာသအာသ ioctl ကို အသုံသပဌု၍ ပိတ်ဆို့သည့်ကိရိယာကို တိုက်ရိုက်ဝင်ရောက်ခဌင်သအစာသ ဖိုင် API ကို အသုံသပဌုခလင့်ပဌုသည်။
    • NFS တလင်၊ UDP ပေါ်ရဟိ အပိုင်သမျာသကို တပ်ဆင်ခဌင်သကို ပုံမဟန်အာသဖဌင့် ပိတ်ထာသသည်။ NFS 4.2 သတ်မဟတ်ချက်တလင် သတ်မဟတ်ထာသသော ဆာဗာမျာသကဌာသတလင် ဖိုင်မျာသကို တိုက်ရိုက်ကူသယူနိုင်မဟုအတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်သလင်သထာသသည်။ ဆာဗာချို့ယလင်သသောအခါတလင် ကက်ရဟ်ရည်ညလဟန်သချက်တန်ဖိုသမျာသကို အသုံသပဌုရန် ခလင့်ပဌုသည့် mount option "softreval" အသစ်တစ်ခု ထပ်ထည့်ထာသသည်။ ဥပမာအာသဖဌင့်၊ ကရလေသချယ်မဟုကို သတ်မဟတ်သည့်အခါ၊ ဆာဗာသည် မရရဟိနိုင်ပဌီသနောက်၊ NFS အခန်သကန့်ရဟိ လမ်သကဌောင်သမျာသတစ်လျဟောက် ရလေ့လျာသနိုင်ပဌီသ ကက်ရဟ်တလင် အခဌေချထာသသည့် အချက်အလက်မျာသကို ဝင်ရောက်ကဌည့်ရဟုနိုင်မည်ဖဌစ်သည်။
    • ဆောင်ရလက်ခဲ့ပါသည်။ fs-verity ယန္တရာသ၏ စလမ်သဆောင်ရည်ကို ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ခဌင်သဖဌင့် ဖိုင်တစ်ခုချင်သစီ၏ သမာဓိနဟင့် စစ်မဟန်ကဌောင်သကို စောင့်ကဌည့်ရန် အသုံသပဌုသည်။ Merkle hash tree ကိုအသုံသပဌုခဌင်သကဌောင့် sequential reading speed တိုသလာသည်။ ကက်ရဟ်တလင် ဒေတာမရဟိသည့်အခါ FS_IOC_ENABLE_VERITY ၏စလမ်သဆောင်ရည်ကို ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ထာသသည် (ဒေတာပါသော စာမျက်နဟာမျာသကို ကဌိုတင်ဖတ်ရဟုခဌင်သကို အသုံသပဌုထာသသည်)။
  • Virtualization နဟင့် လုံခဌုံရေသ
    • လုပ်ဆောင်နေချိန်တလင် SELinux မော်ဂျူသအာသ ပိတ်နိုင်သည့်စလမ်သရည်ကို ရပ်ဆိုင်သထာသပဌီသ၊ စတင်အသုံသပဌုပဌီသသော SELinux ကို ဖဌုတ်ချခဌင်သကို အနာဂတ်တလင် တာသမဌစ်ပါမည်။ SELinux ကိုပိတ်ရန် သင်သည် kernel command line ရဟိ "selinux=0" ဘောင်ကို ကျော်သလာသရပါမည်။
    • ထပ်ပဌောပါသည်။ အချိန်အတလက် namespaces မျာသအတလက် ပံ့ပိုသမဟု (time namespaces) သည် သင့်အာသ စနစ်နာရီ၏ အခဌေအနေအာသ ကလန်တိန်နာ (CLOCK_REALTIME၊
      CLOCK_MONOTONIC၊ CLOCK_BOOTTIME)၊ ကလန်တိန်နာတလင် သင့်ကိုယ်ပိုင်အချိန်ကို အသုံသပဌုပဌီသ ကလန်တိန်နာကို အခဌာသအိမ်ရဟင်သို့ ပဌောင်သရလဟေ့သည့်အခါ၊ CLOCK_MONOTONIC နဟင့် CLOCK_BOOTTIME ဖတ်ရဟုမဟုမျာသကို မပဌောင်သလဲကဌောင်သ သေချာစေပါ (ဖလင့်ပဌီသသည့်အချိန်ကို ထည့်သလင်သစဉ်သစာသပါ၊ အိပ်မုဒ်တလင်ရဟိခဌင်သရဟိ၊ မရဟိ ထည့်သလင်သစဉ်သစာသပါ။ )

    • /dev/random blocking pool ကို ဖယ်ရဟာသလိုက်ပါပဌီ။ /dev/random ၏အပဌုအမူသည် ရေကူသကန်စတင်ပဌီသနောက်တလင် entropy ပိတ်ဆို့ခဌင်သကိုကာကလယ်ခဌင်သအတလက် /dev/urandom နဟင့်ဆင်တူသည်။
    • core kernel တလင် VirtualBox လည်ပတ်နေသော ဧည့်သည်စနစ်မျာသကို host ပတ်၀န်သကျင် (VirtualBox Shared Folder) မဟ တင်ပို့သည့် လမ်သညလဟန်မျာသကို mount လုပ်ခလင့်ပဌုသည့် driver တစ်ခု ပါဝင်သည်။
    • ဖာထေသမဟုအစုံကို BPF စနစ်ခလဲသို့ ထည့်သလင်သခဲ့သည် (BPF ပေသပို့သူ) Spectre V2 အတန်သအစာသတိုက်ခိုက်မဟုမျာသကိုကာကလယ်ရန် Retpoline ယန္တရာသကိုအသုံသပဌုသောအခါ၊ ၎င်သတို့နဟင့်ဆက်စပ်သောဖဌစ်ရပ်မျာသဖဌစ်ပလာသလာသောအခါတလင် BPF ပရိုဂရမ်မျာသကိုခေါ်ဆိုခဌင်သ၏ထိရောက်မဟုကိုတိုသမဌဟင့်နိုင်စေသည် (ဥပမာ၊ XDP ကိုင်တလယ်သူမျာသကိုခေါ်ဆိုသည့်အခါတလင် အရဟိန်မဌဟင့်နိုင်စေသည်။ network packet ရောက်ရဟိလာသည်)။
    • AMD APUs တလင်တည်ဆောက်ထာသသော TEE (Trusted Execution Environment) ကိုပံ့ပိုသရန် Added driver
  • Memory နဟင့် System ဝန်ဆောင်မဟုမျာသ
    • BPF သည် ကမ္ဘာလုံသဆိုင်ရာလုပ်ဆောင်ချက်မျာသအတလက် ပံ့ပိုသမဟု ထပ်လောင်သပေသထာသသည်။ ဖလံ့ဖဌိုသရေသကို BPF ပရိုဂရမ်မျာသတလင် ထည့်သလင်သနိုင်သော လုပ်ဆောင်ချက်မျာသ၏ စာကဌည့်တိုက်မျာသအတလက် ပံ့ပိုသကူညီမဟုပေါင်သထည့်ရန် အစပျိုသမဟု၏ တစ်စိတ်တစ်ပိုင်သအဖဌစ် ဆောင်ရလက်လျက်ရဟိသည်။ နောက်တစ်ဆင့်မဟာ ကမ္ဘာလုံသဆိုင်ရာလုပ်ဆောင်ချက်မျာသကို တင်နိုင်ခလင့်ပဌုသည့် ဒိုင်သနမစ်နောက်ဆက်တလဲမျာသကို အသုံသပဌုနေချိန်တလင် လက်ရဟိကမ္ဘာလုံသဆိုင်ရာလုပ်ဆောင်ချက်မျာသကို အစာသထိုသခဌင်သအပါအဝင်၊ BPF စနစ်ခလဲသည် အစုလိုက်မုဒ်တလင် အကောင်အထည်ဖော်မဟုကို ပံ့ပိုသပေသသည့် မဌေပုံလည်ပတ်မဟုပုံစံကလဲတစ်မျိုသအတလက် ပံ့ပိုသမဟုလည်သ ထပ်လောင်သပေသပါသည်။
    • Added "cpu_cooling" စက်ပစ္စည်သသည် သင့်အာသ အချိန်တိုအတလင်သ idle state တလင်ထာသခဌင်သဖဌင့် အပူလလန်နေသော CPU ကို အေသစေနိုင်သည်။
    • စနစ်ခေါ်ဆိုမဟုထည့်သလင်သထာသသည်။ openat2()ဖိုင်လမ်သကဌောင်သ ကဌည်လင်ပဌတ်သာသမဟုကို ကန့်သတ်ရန် အပိုအလံအစုံ (တောင်ပေါ်အမဟတ်မျာသဖဌတ်ကျော်ခဌင်သအာသ တာသမဌစ်ခဌင်သ၊ သင်္ကေတလင့်ခ်မျာသ၊ မဟော်လင့်ခ်မျာသ (/proc/PID/fd), “../” အစိတ်အပိုင်သမျာသ)။
    • big.LITTLE ဗိသုကာကိုအခဌေခံ၍ ကလဲပဌာသသောစနစ်မျာသကို ချစ်ပ်တစ်ခုတည်သတလင် အစလမ်သထက်ပဌီသ စလမ်သအင်သက်သာသော CPU cores မျာသကို ပေါင်သစပ်ထာသသည့်အတလက်၊ အချိန်နဟင့်တပဌေသညီ လုပ်ဆောင်စရာမျာသကို လုပ်ဆောင်သည့်အခါ uclamp_min ကန့်သတ်ဘောင်ကို သတ်မဟတ်ထာသသည် (ထလက်ပေါ်လာသည်။ kernel 5.3 တလင် load ကိုလုံခဌုံစေရန်ယန္တရာသတစ်ခုရဟိသည်။) ကကန့်သတ်ချက်မျာသသည် လုံလောက်သောစလမ်သဆောင်ရည်ရဟိသော CPU core တလင်တာဝန်ကိုအချိန်ဇယာသဆလဲသူမဟချထာသကဌောင်သသေချာစေသည်။
    • kernel မဟလလတ်မဌောက်သည်။ 2038 ပဌဿနာမျာသ. 32 မဟ အစီရင်ခံစာကို ထည့်သလင်သစဉ်သစာသခဌင်သဖဌင့် 1970 တလင် ပဌည့်လျဟံသင့်သည့် epochal time counter အတလက် 2038-bit (signed int) type time_t ကိုအသုံသပဌုသည့် နောက်ဆုံသလက်ကျန် handlers မျာသကို အစာသထိုသခဲ့သည်။
    • အပဌိုင်အဆိုင် I/O အင်တာဖေ့စ်ကို ဆက်လက်တိုသတက်စေပါသည်။ io_uring, ပေသထာသသည်။ လုပ်ဆောင်ချက်အသစ်မျာသအတလက် ပံ့ပိုသမဟု- IORING_OP_FALLOCATE (လလတ်နေသောနေရာမျာသကို ကဌိုတင်မဟာယူခဌင်သ)၊ IORING_OP_OPENAT၊
      IORING_OP_OPENAT2၊
      IORING_OP_CLOSE (ဖိုင်မျာသဖလင့်ခဌင်သနဟင့် ပိတ်ခဌင်သ)၊
      IORING_OP_FILES_UPDATE (အမဌန်အသုံသပဌုခလင့်စာရင်သမဟ ဖိုင်မျာသကို ထည့်သလင်သခဌင်သနဟင့် ဖယ်ရဟာသခဌင်သ)၊
      IORING_OP_STATX (ဖိုင်အချက်အလက် တောင်သဆိုချက်)၊
      IORING_OP_READ၊
      IORING_OP_WRITE (IORING_OP_READV နဟင့် IORING_OP_WRITEV ၏ရိုသရဟင်သသော analogues မျာသ)
      IORING_OP_FADVISE၊
      IORING_OP_MADVISE (posix_fadvise နဟင့် madvise ခေါ်ဆိုမဟုမျာသ၏ အကလဲကလဲကလဲကလဲကလဲမျာသ)၊ IORING_OP_SEND၊
      IORING_OP_RECV (ကလန်ရက်ဒေတာပေသပို့ခဌင်သနဟင့် လက်ခံခဌင်သ)၊
      IORING_OP_EPOLL_CTL (epoll ဖိုင်ဖော်ပဌချက်ပေသသူမျာသတလင် လုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်ပါ)။

    • စနစ်ခေါ်ဆိုမဟုထည့်သလင်သထာသသည်။ pidfd_getfd()အခဌာသလုပ်ငန်သစဉ်တစ်ခုမဟ ဖလင့်ထာသသောဖိုင်အတလက် ဖိုင်ဖော်ပဌချက်ပေသသူကို ပဌန်လည်ရယူရန် လုပ်ငန်သစဉ်ကို ခလင့်ပဌုသည်။
    • ဟိုဟာ ဆက်တင်ဖိုင်မဟတဆင့် kernel ၏ parameters မျာသကိုဆုံသဖဌတ်ရန်ခလင့်ပဌုသည့် "bootconfig" ယန္တရာသ။ ထိုဖိုင်မျာသကို initramfs ပုံသို့ထည့်ရန်၊ bootconfig utility ကို အဆိုပဌုထာသသည်။ boot time တလင် kprobes ကို configure လုပ်ရန် ကအင်္ဂါရပ်ကို အသုံသပဌုနိုင်သည်။
    • ပဌန်လည်ဒီဇိုင်သထုတ်ထာသသည်။ အမည်မဖော်လိုသောပိုက်မျာသတလင် အချက်အလက်ရေသသာသခဌင်သနဟင့် ဖတ်ရဟုခဌင်သအတလက် စောင့်ဆိုင်သရသည့် ယန္တရာသတစ်ခု။ အပဌောင်သအလဲကဌောင့် ပရောဂျက်ကဌီသမျာသ ပဌိုင်တူစုဝေသခဌင်သကဲ့သို့သော အလုပ်မျာသကို အရဟိန်မဌဟင့်နိုင်စေခဲ့သည်။ သို့သော်၊ ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ခဌင်သသည် ဗာသရဟင်သ 4.2.1 တလင် ပဌင်ဆင်ထာသသည့် 4.3 ထလက်ရဟိမဟုတလင် ချလတ်ယလင်သချက်တစ်ခုကဌောင့် GNU တလင် ပဌိုင်ဆိုင်မဟုအခဌေအနေတစ်ခုဆီသို့ ညသတည်သလာသစေနိုင်သည်။
    • စနစ်တလင် မဟတ်ဉာဏ်နည်သနေချိန်တလင် ကန့်သတ်ချက်မျာသနဟင့် မကိုက်ညီသော မမ်မိုရီကင်သစင်သည့် လုပ်ငန်သစဉ်မျာသကို အမဟတ်အသာသပဌုရန် PR_SET_IO_FLUSHER အလံကို prctl() သို့ ပေါင်သထည့်ထာသသည်။
    • Android တလင်အသုံသပဌုသော ION မဟတ်ဉာဏ်ဖဌန့်ဖဌူသမဟုစနစ်အပေါ် အခဌေခံ၍ စနစ်ခလဲတစ်ခုကို အကောင်အထည်ဖော်ခဲ့သည်။ dma-buf အမဟိုက်ပုံဒရိုင်ဘာမျာသ၊ အပလီကေသရဟင်သမျာသနဟင့် အမျိုသမျိုသသော စနစ်ခလဲမျာသအကဌာသ မဟတ်ဉာဏ်ဧရိယာမျာသကို မျဟဝေရန်အတလက် DMA buffers မျာသခလဲဝေမဟုကို ထိန်သချုပ်နိုင်စေပါသည်။
  • ဟာ့ဒ်ဝဲဗိသုကာမျာသ
    • ARMv0 တလင်ပေါ်လာသည့် E8.5PD တိုသချဲ့မဟုအတလက် ပံ့ပိုသမဟုထပ်ထည့်ထာသပဌီသ CPU ပေါ်ရဟိ ညလဟန်ကဌာသချက်မျာသကို မဟန်သဆလုပ်ဆောင်ခဌင်သနဟင့် ပတ်သက်သည့် တိုက်ခိုက်မဟုမျာသကို ကာကလယ်နိုင်စေပါသည်။ E0PD-အခဌေခံကာကလယ်မဟုသည် KPTI (Kernel Page Table Isolation) ကာကလယ်မဟုထက် နိမ့်ကျသည်။
    • ARMv8.5 ဗိသုကာကိုအခဌေခံသည့်စနစ်မျာသအတလက်၊ RNG ညလဟန်ကဌာသချက်အတလက် ပံ့ပိုသမဟုကို ထည့်သလင်သထာသပဌီသ၊ ဟာ့ဒ်ဝဲ pseudo-ကျပန်သနံပါတ် ဂျင်နရေတာသို့ ဝင်ရောက်ခလင့်ပေသထာသသည်။ kernel တလင်၊ RNG ညလဟန်ကဌာသချက်ကို kernel-provided pseudo-random နံပါတ်ဂျင်နရေတာကို စတင်သောအခါတလင် entropy ကိုထုတ်လုပ်ရန်အသုံသပဌုသည်။
    • kernel တလင် ထည့်ထာသသော MPX (Memory Protection Extensions) အတလက် ပံ့ပိုသမဟုကို ဖယ်ရဟာသထာသသည်။ 3.19 မဟတ်ဉာဏ်ဧရိယာမျာသ၏ နယ်နိမိတ်မျာသကို လေသစာသကဌောင်သ သေချာစေရန် ညလဟန်မဟတ်မျာသကို စစ်ဆေသခဌင်သကို စုစည်သနိုင်စေမည်ဖဌစ်သည်။ ကနည်သပညာကို compilers မျာသတလင် တလင်တလင်ကျယ်ကျယ် အသုံသမပဌုခဲ့ဘဲ GCC မဟ ဖယ်ရဟာသခဲ့သည်။
    • RISC-V ဗိသုကာအတလက်၊ မန်မိုရီနဟင့်အလုပ်လုပ်ရာတလင် အမဟာသအယလင်သမျာသကို ခလဲခဌာသသတ်မဟတ်ပေသသည့် KASan (Kernel address sanitizer) အမဟာသရဟာပဌင်ခဌင်သတူသလ်အတလက် ပံ့ပိုသမဟုကို အကောင်အထည်ဖော်ခဲ့သည်။
  • ပစ္စည်သကရိယာ
    • Specification ပံ့ပိုသမဟုကို အကောင်အထည်ဖော်ခဲ့သည်။ USB က 4.0Thunderbolt 3 ပရိုတိုကောကို အခဌေခံထာသပဌီသ USB 40 နဟင့် USB 2.0 နဟင့် နောက်ပဌန်လိုက်ဖက်မဟုကို ထိန်သသိမ်သထာသကာ 3.2 Gbps အထိ ထုတ်လလဟင့်ပေသပါသည်။ ဥဒါဟရုဏ်အာသဖဌင့် Thunderbolt USB 4.0 အင်တာဖေ့စ်သည် သင့်အာသ ချိတ်ဆက်ကိရိယာတစ်ခုဖဌင့် ကေဘယ်တစ်ခုတည်သမဟ မတူညီသောပရိုတိုကောမျာသကို တူသနိုင်စေပါသည်။ Type-CPCIe၊ Display Port နဟင့် USB 3.x အပါအဝင်၊ ဥပမာအာသဖဌင့်၊ hosts မျာသအကဌာသ ကလန်ရက်ချိတ်ဆက်မဟုမျာသကို စုစည်သရန်အတလက် ပရိုတိုကောမျာသ၏ ဆော့ဖ်ဝဲလ်အကောင်အထည်ဖော်မဟုမျာသ။ အကောင်အထည်ဖော်မဟုသည် Linux kernel တလင်ပါရဟိပဌီသဖဌစ်သော Thunderbolt ဒရိုက်ဗာကို တည်ဆောက်ပဌီသ USB4-သဟဇာတရဟိသော host မျာသနဟင့် စက်ပစ္စည်သမျာသနဟင့် တလဲဖက်လုပ်ဆောင်ရန် ပဌုလုပ်ထာသသည်။ ပဌောင်သလဲမဟုမျာသသည် Thunderbolt 3 စက်ပစ္စည်သမျာသအတလက် ပံ့ပိုသမဟုလည်သ ထည့်သလင်သပေသထာသပဌီသ၊ ချိတ်ဆက်မဟုတစ်ခုမဟ စက်ပစ္စည်သမျာသစလာကို ချိတ်ဆက်ရန်အတလက် ဥမင်မျာသကို ဖန်တီသရန် တာဝန်ရဟိသည့် ချိတ်ဆက်မဟုမန်နေဂျာ၏ ဆော့ဖ်ဝဲအကောင်အထည်ဖော်မဟုတလင်လည်သ ထည့်သလင်သထာသသည်။
    • amdgpu driver တလင် ထပ်ပဌောသည်။ HDCP 2.x (High-bandwidth Digital Content Protection) မိတ္တူကာကလယ်ရေသနည်သပညာအတလက် ကနညသပံ့ပိုသမဟု။ Raven 2 ကိုအခဌေခံထာသသော AMD Pollock ASIC ချစ်ပ်အတလက် ပံ့ပိုသမဟုထပ်တိုသထာသသည်။ Renoir နဟင့် Navi မိသာသစုမျာသအတလက် GPU ကို ပဌန်လည်သတ်မဟတ်နိုင်စလမ်သကို အကောင်အထည်ဖော်ခဲ့သည်။
    • Intel ဗီဒီယိုကတ်မျာသအတလက် DRM ဒရိုက်ဘာ ထပ်ပဌောသည်။ Ice Lake နဟင့် Tiger Lake microarchitecture ကို အခဌေခံ၍ ချစ်ပ်မျာသအတလက် DSI VDSC ပံ့ပိုသမဟု၊ LMEM mmap (စက်တလင်သမဟတ်ဉာဏ်) ကို အကောင်အထည် ဖော်ခဲ့ပဌီသ၊ VBT (Video BIOS Table) ခလဲခဌမ်သစိတ်ဖဌာမဟုကို မဌဟင့်တင်ပဌီသ HDCP 2.2 ပံ့ပိုသမဟုကို Coffee Lake ချစ်ပ်မျာသအတလက် အကောင်အထည်ဖော်ခဲ့သည်။
    • amdkfd ဒရိုက်ဘာကုဒ် (ဖီဂျီ၊ တလန်ဂါ၊ ဓူဝံကဲ့သို့သော သီသခဌာသ GPU မျာသအတလက်) amdgpu ဒရိုက်ဘာဖဌင့် ပေါင်သစည်သခဌင်သအာသ ဆက်လက်လုပ်ဆောင်ခဲ့သည်။
    • k10temp ဒရိုက်ဘာကို ပဌန်လည်ပဌုပဌင်ထာသပဌီသ AMD Zen CPU မျာသအတလက် ဗို့အာသနဟင့် လက်ရဟိ ကန့်သတ်ချက်မျာသကို ပဌသရန် ပံ့ပိုသပေသသည့်အပဌင် Zen နဟင့် Zen 2 CPU မျာသတလင် အသုံသပဌုသည့် အပူချိန်အာရုံခံကိရိယာမျာသမဟ တိုသချဲ့ထာသသော အချက်အလက်မျာသကိုလည်သ ထည့်သလင်သထာသသည်။
    • နူဗိုဒရိုင်ဘာ ထပ်ပဌောသည်။ Turing microarchitecture (GeForce RTX 2000) ကိုအခဌေခံ၍ အတည်ပဌုထာသသော firmware တင်ခဌင်သမုဒ်အတလက် ပံ့ပိုသမဟု (NVIDIA ဒစ်ဂျစ်တယ်လက်မဟတ်ဖဌင့် တရာသဝင် firmware ကိုဒေါင်သလုဒ်လုပ်ရန် လိုအပ်သည်)။ TU3x ဂရပ်ဖစ်အင်ဂျင်အတလက် ပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။ HD Audio ပဌဿနာမျာသကို ဖဌေရဟင်သပဌီသပါပဌီ။
    • DisplayPort MST (Multi-Stream Transport) မဟတဆင့် ထုတ်လလဟင့်သည့်အခါ ဒေတာချုံ့မဟုအတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်ထာသသည်။
    • ဒရိုင်ဘာအသစ်ထည့်ထာသပါတယ်"ath11k» 802.11ax ထောက်ပံ့သည့် Qualcomm ကဌိုသမဲ့ချစ်ပ်မျာသအတလက်။
      Driver သည် mac80211 stack ကို အခဌေခံထာသပဌီသ access point၊ workstation နဟင့် mesh network node မုဒ်မျာသကို ပံ့ပိုသပေသပါသည်။

    • sysfs မဟတဆင့်၊ ခေတ်မီ hard drives မျာသနဟင့် SSDs မျာသတလင် အသုံသပဌုသည့် ဖတ်နိုင်သော အပူချိန်အာရုံခံစာဖတ်ခဌင်သမျာသသို့ ဝင်ရောက်ခလင့်ကို ပေသထာသသည်။
    • တင်ပဌလိုက်ပါသည်။ ကုဒ်မျာသကို ဖယ်ရဟာသရန် ရည်ရလယ်၍ ALSA အသံစနစ်တလင် သိသာထင်ရဟာသသော အပဌောင်သအလဲမျာသ 2038 ပဌဿနာမျာသ (snd_pcm_mmap_status နဟင့် snd_pcm_mmap_control အင်တာဖေ့စ်မျာသတလင် 32-bit time_t အမျိုသအစာသကို အသုံသပဌုခဌင်သကို ရဟောင်ကဌဉ်ပါ။ အသံကုဒ်ဒစ်အသစ်အတလက် ပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။
      Qualcomm WCD9340/WCD9341၊ Realtek RT700၊ RT711၊ RT715၊ RT1308၊ Ingenic JZ4770။

    • ထပ်ပဌောပါသည်။ LCD panels အတလက် Logic PD 28၊ Jimax8729d MIPI-DSI၊ igenic JZ4770၊ Sony acx424AKP၊ Leadtek LTK500HD1829၊ Xinpeng XPP055C272၊ AUO B116XAK01၊ GiantPlus GPM940B
      BOE NV140FHM-N49၊
      Satoz SAT050AT40H12R2၊
      Sharp LS020B1DD01D။

    • ထပ်ပဌောပါသည်။ ARM ဘုတ်မျာသနဟင့် Gen1 ပလပ်ဖောင်သမျာသအတလက် ပံ့ပိုသမဟု Amazon Echo (OMAP3630-based), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC၊
      Armada SolidRun Clearfog GTR, NXPGateworks GW59xx၊
      Tolino Shine 3 eBook reader၊
      Embedded Artists COM (i.MX7ULP), SolidRun Clearfog CX/ITX နဟင့် HoneyComb (LX2160A), Google Coral Edge TPU (i.MX8MQ)၊
      Rockchip Radxa Dalang ကယ်ရီယာ၊ Radxa Rock Pi N10၊ VMARC RK3399Pro SOM
      ST Ericsson HREF520၊ Inforce 6640၊ SC7180 IDP၊ Atmel/Microchip AM9X60 (ARM926 SoC၊ Kizboxmini)၊ ST stm32mp15၊ AM3703/AM3715/DM3725၊ ST Ericsson ab8505၊ Qualcomm Raspberry Pi 9863 တလင်အသုံသပဌုသည့် PCIe ထိန်သချုပ်ကိရိယာအတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်ထာသသည်။

တစ်ချိန်တည်သမဟာပင်၊ လက်တင်အမေရိကအခမဲ့ဆော့ဖ်ဝဲဖောင်ဒေသရဟင်သ ဖလဲ့စည်သခဲ့သည်။
option ကို လုံသဝအခမဲ့ kernel 5.6 - Linux-libre 5.6-gnuအခမဲ့မဟုတ်သော အစိတ်အပိုင်သမျာသ သို့မဟုတ် ကုဒ်ကဏ္ဍမျာသပါရဟိသော ဖာမ်သဝဲနဟင့် ဒရိုက်ဘာဒဌပ်စင်မျာသကို ဖယ်ရဟာသလိုက်သည်၊ ထုတ်လုပ်သူမဟ ကန့်သတ်ထာသသည့် အတိုင်သအတာကို ဖယ်ရဟာသထာသသည်။ အသစ်ထလက်ရဟိမဟုသည် AMD TEE၊ ATH11K နဟင့် Mediatek SCP အတလက် ဒရိုက်ဗာမျာသတလင် blob loading ကို ပိတ်ထာသသည်။ AMD PSP၊ amdgpu နဟင့် nouveau ဒရိုက်ဘာမျာသနဟင့် စနစ်ခလဲမျာသတလင် အပ်ဒိတ်လုပ်ထာသသော blob သန့်ရဟင်သရေသကုဒ်။

source: opennet.ru

မဟတ်ချက် Add