Kernel ထုတ်ဝေမှု Linux 5.6

နှစ်လကြာဖွံ့ဖြိုးတိုးတက်ပြီးနောက် Linus Torvalds မိတ်ဆက်ပေးခဲ့သည် kernel ထုတ်ပေးခြင်း။ Linux 5.6အထင်ရှားဆုံးပြောင်းလဲမှုများထဲတွင် VPN interface ပေါင်းစပ်မှု WireGuard, USB4 ပံ့ပိုးမှု၊ အချိန်အမည်နေရာများ၊ BPF ကို အသုံးပြု၍ TCP ပိတ်ဆို့မှုကိုင်တွယ်သူများ ဖန်တီးနိုင်စွမ်း၊ MultiPath TCP အတွက် ကနဦးပံ့ပိုးမှု၊ ၂၀၃၈ ခုနှစ်ပြဿနာအတွက် kernel ပြင်ဆင်မှု၊ "bootconfig" ယန္တရား၊ ZoneFS။

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

အဓိက တီထွင်ဆန်းသစ်မှုများ:

  • ကွန်ရက်စနစ်ခွဲ
    • ထပ်ပြောပါသည်။ VPN interface ကို အကောင်အထည်ဖော်ခြင်း။ WireGuardခေတ်မီ ကုဒ်ဝှက်နည်းလမ်းများ (ChaCha20၊ Poly1305၊ Curve25519၊ BLAKE2s) ကို အခြေခံ၍ အကောင်အထည်ဖော်ထားသော ၎င်းသည် အသုံးပြုရလွယ်ကူပြီး ရှုပ်ထွေးမှုကင်းကာ ကြီးမားသော အကောင်အထည်ဖော်မှုအများအပြားတွင် ၎င်းကိုယ်တိုင် သက်သေပြခဲ့ပြီး အလွန်မြင့်မားသော စွမ်းဆောင်ရည် (၃.၉ ဆ ပိုမြန်သည်) ကို ပေးစွမ်းသည်။ OpenVPN throughput အားဖြင့်)။ WireGuard လျှို့ဝှက်သော့ကို ကွန်ရက်မျက်နှာပြင်တစ်ခုစီသို့ ချိတ်ဆက်ခြင်းနှင့် ချိတ်ဆက်ရန်အတွက် အများပြည်သူသော့များကို အသုံးပြုခြင်းပါဝင်သည့် ကုဒ်ဝှက်ခြင်းသော့လမ်းကြောင်းရှာဖွေခြင်းဆိုင်ရာ အယူအဆကို အသုံးပြုထားသည်။ ချိတ်ဆက်မှုတစ်ခုတည်ဆောက်ရန် အများပြည်သူသော့များဖလှယ်ခြင်းသည် SSH နှင့်ဆင်တူသည်။ လည်ပတ်မှုအတွက် လိုအပ်ပါသည်။ WireGuard ကုဒ်ဝှက်စနစ် အခြေခံများ ဒါဟာခဲ့ သယ်ဆောင်သွားသည်။ စာကြည့်တိုက်မှ သွယ် စံ Crypto API ၏ တစ်စိတ်တစ်ပိုင်းအနေနှင့် ပါဝင်ပါသည်။ core သို့ 5.5.
    • စတင်ခဲ့သည် MPTCP (MultiPath TCP) ကိုပံ့ပိုးရန် လိုအပ်သော အစိတ်အပိုင်းများ ပေါင်းစည်းခြင်းသည် မတူညီသော IP လိပ်စာများနှင့် ချိတ်ဆက်ထားသော မတူညီသော IP လိပ်စာများမှတဆင့် လမ်းကြောင်းများစွာတစ်လျှောက် TCP ချိတ်ဆက်မှု၏ လည်ပတ်လုပ်ဆောင်မှုကို စုစည်းရန်အတွက် TCP ပရိုတိုကော၏ တိုးချဲ့မှုတစ်ခုဖြစ်သည်။ ကွန်ရက်အပလီကေးရှင်းများအတွက်၊ ထိုသို့သော ပေါင်းစည်းချိတ်ဆက်မှုသည် ပုံမှန် TCP ချိတ်ဆက်မှုတစ်ခုနှင့်တူပြီး ထုတ်လွှင့်မှုများကို ပိုင်းခြားရန် ယုတ္တိဗေဒအားလုံးကို MPTCP မှ လုပ်ဆောင်ပါသည်။ Multipath TCP ကို ​​bandwidth ချဲ့ထွင်ရန်နှင့် ယုံကြည်စိတ်ချရမှုကို တိုးမြှင့်ရန်အတွက် နှစ်မျိုးလုံးကို အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်၊ MPTCP ကို ​​WiFi နှင့် 4G လင့်ခ်များကို တစ်ပြိုင်နက်အသုံးပြု၍ စမတ်ဖုန်းပေါ်တွင် ဒေတာလွှဲပြောင်းခြင်းကို စုစည်းရန် သို့မဟုတ် စျေးပေါသောလင့်ခ်များစွာကို အသုံးပြု၍ ဆာဗာကိုချိတ်ဆက်ခြင်းဖြင့် ကုန်ကျစရိတ်လျှော့ချရန် အသုံးပြုနိုင်သည်။
    • ထပ်ပြောပါသည်။ sch_ets ကွန်ရက် တန်းစီခြင်း လုပ်ဆောင်ခြင်း စည်းကမ်းအတွက် ပံ့ပိုးမှု (ပိုမိုကောင်းမွန်သော ဂီယာရွေးချယ်မှု, IEEE 802.1Qaz) သည် မတူညီသော traffic class များကြားတွင် bandwidth ကို ဖြန့်ဝေပေးနိုင်စွမ်းရှိသည်။ အချို့သော traffic class တွင် 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.
    • အူတိုင်သို့လက်ခံခဲ့သည်။ အပြောင်းအလဲများ၊ ဘာသာပြန်ကိရိယာများ ethtool ioctl() ဖြင့် အသုံးပြုနိုင်သည်။ netlink အင်တာဖေ့စ်. အင်တာဖေ့စ်အသစ်သည် တိုးချဲ့မှုများထည့်ရန် ပိုမိုလွယ်ကူစေသည်၊ အမှားအယွင်းကိုင်တွယ်မှုကို ပိုမိုကောင်းမွန်စေသည်၊ အခြေအနေပြောင်းလဲသည့်အခါ အကြောင်းကြားချက်များကို ပေးပို့နိုင်စေသည်၊ kernel နှင့် အသုံးပြုသူနေရာကြားတွင် အပြန်အလှန်ဆက်သွယ်မှုကို ရိုးရှင်းစေကာ၊ တပြိုင်တည်းလုပ်ဆောင်ရန် အမည်ပေးထားသောစာရင်းအရေအတွက်ကို လျှော့ချပေးသည်။
    • FQ-PIE (Flow Queue PIE) ကွန်ရက် တန်းစီစီမံခန့်ခွဲရေး အယ်လဂိုရီသမ်ကို အနားသတ်ကွန်ရက်ကိရိယာများ (bufferbloat) တွင် အလယ်အလတ် ပက်ကတ်ကြားခံခြင်း၏ အပျက်သဘောဆောင်သော သက်ရောက်မှုကို လျှော့ချရန် ရည်ရွယ်၍ ထပ်လောင်းအကောင်အထည်ဖော်ခြင်း။ FQ-PIE သည် cable modems ရှိသော စနစ်များတွင် အသုံးပြုသောအခါ မြင့်မားသော စွမ်းဆောင်ရည်ကို ပြသသည်။
  • Disk ခွဲစနစ်၊ I/O နှင့် ဖိုင်စနစ်များ
    • Btrfs ဖိုင်စနစ်အတွက် ထပ်ပြောသည်။ DISCARD လုပ်ဆောင်ချက်ကို တပြိုင်နက်တည်း အကောင်အထည်ဖော်ခြင်း (ရုပ်ပိုင်းဆိုင်ရာ သိမ်းဆည်း၍မရတော့သော ထွက်ရှိလာသော ပိတ်ဆို့ခြင်းများကို အမှတ်အသားပြုခြင်း)။ အစပိုင်းတွင်၊ DisCARD လုပ်ဆောင်ချက်များကို တစ်ပြိုင်တည်းလုပ်ဆောင်ခဲ့ပြီး၊ ၎င်းသည် drives များမှ သက်ဆိုင်ရာ command များကို ပြီးမြောက်အောင်စောင့်ဆိုင်းခြင်းကြောင့် စွမ်းဆောင်ရည်ကျဆင်းသွားနိုင်သည်။ Asynchronous အကောင်အထည်ဖော်မှုသည် drive မှ DISCARD ပြီးမြောက်မှုကို စောင့်မနေဘဲ နောက်ခံတွင် ဤလုပ်ဆောင်ချက်ကို လုပ်ဆောင်နိုင်စေပါသည်။
    • XFS တွင် လုပ်သည် 32-ဘစ်အချိန်ကောင်တာများ (time_t အမျိုးအစားကို time64_t ဖြင့် အစားထိုးထားသည်) အဟောင်းကို အသုံးပြုသည့် ကုဒ်ကို ရှင်းလင်းပြီး 2038 နှစ်တွင် ပြဿနာဖြစ်လာသည်။ 32-bit ပလပ်ဖောင်းများတွင် ပေါ်လာသော အမှားများနှင့် မှတ်ဉာဏ်ပျက်စီးမှုများကို ပြင်ဆင်ပါ။ တိုးချဲ့ထားသော ရည်ညွှန်းချက်များဖြင့် အလုပ်လုပ်ရန် ကုဒ်ကို ပြန်လည်ပြုပြင်ထားသည်။
    • ext4 ဖိုင်စနစ်သို့ ပါဝင်သည် ဖတ်ရှုခြင်း နှင့် စာရေးခြင်း လုပ်ဆောင်ချက်များအတွင်း inode လော့ခ်ချခြင်း ကိုင်တွယ်ခြင်းဆိုင်ရာ စွမ်းဆောင်ရည် ပိုမိုကောင်းမွန်အောင် လုပ်ဆောင်ခြင်းများ။ Direct I/O မုဒ်တွင် ပြန်လည်ရေးသားခြင်း၏ စွမ်းဆောင်ရည်ကို မြှင့်တင်ထားသည်။ ပြဿနာရှာဖွေခြင်းကို ရိုးရှင်းလွယ်ကူစေရန် ပထမဆုံးနှင့် နောက်ဆုံး အမှားကုဒ်များကို ယခု superblock တွင် သိမ်းဆည်းထားပါသည်။
    • F2FS ဖိုင်စနစ်တွင် အကောင်အထည်ဖော်ခဲ့သည်။ data တွေကို compressed form နဲ့ သိမ်းဆည်းထားနိုင်ပါတယ်။ ဖိုင်တစ်ခု (သို့) လမ်းညွှန်တစ်ခုအတွက်၊ "chattr +c ဖိုင်" သို့မဟုတ် "chattr +c dir; dir/file" ဟူသော command ကို အသုံးပြု၍ ချုံ့မှုကို ဖွင့်နိုင်သည်။ partition တစ်ခုလုံးကို ချုံ့ရန်၊ mount utility သည် "-o compress_extension=ext" option ကိုသုံးနိုင်သည်။
    • ဖိုင်စနစ်အား kernel တွင် ထည့်သွင်းထားသည်။ ZoneFSဇုန်သတ်မှတ်ထားသော သိုလှောင်မှုကိရိယာများဖြင့် အဆင့်နိမ့်အလုပ်များကို ရိုးရှင်းစေပါသည်။ Zoned drives များသည် ဟာ့ဒ်သံလိုက်ဒစ်များ သို့မဟုတ် NVMe SSDs များပေါ်ရှိ စက်ပစ္စည်းများဖြစ်သည်၊ ဘလောက်အဖွဲ့များ သို့မဟုတ် ကဏ္ဍများစုဖွဲ့ထားသည့် ဇုန်များခွဲထားသည့် သိုလှောင်ခန်းနေရာသည် ပိတ်ဆို့အုပ်စုတစ်ခုလုံး၏ အပ်ဒိတ်ဖြင့်သာ ဒေတာကို ဆက်တိုက်ထပ်ထည့်ခြင်းသာဖြစ်သည်။ ZoneFS ကို Western Digital မှ ဖန်တီးထားပြီး drive အတွင်းရှိ ဇုန်တစ်ခုစီအား ကဏ္ဍနှင့် ပိတ်ဆို့ခြင်းအဆင့်တွင် ကိုင်တွယ်ခြင်းမရှိဘဲ ဒေတာကို အကြမ်းမုဒ်တွင် သိမ်းဆည်းရန် သီးခြားဖိုင်တစ်ခုနှင့် တွဲဖက်ထားကာ၊ ဆိုလိုသည်မှာ အပလီကေးရှင်းများအား ioctl သုံးပြီး ပိတ်ဆို့သည့်စက်ပစ္စည်းကို တိုက်ရိုက်ဝင်ရောက်ခြင်းအစား ဖိုင် API ကို အသုံးပြုခွင့်ပေးသည်။
    • UDP ပေါ်ရှိ အခန်းကန့်များ တပ်ဆင်ခြင်းကို NFS တွင် ပုံမှန်အားဖြင့် ပိတ်ထားသည်။ NFS 4.2 သတ်မှတ်ချက်တွင် သတ်မှတ်ထားသည့် ဆာဗာများကြား တိုက်ရိုက်ဖိုင်ကူးယူခြင်းအတွက် ပံ့ပိုးမှုကို ထည့်သွင်းထားသည်။ ဆာဗာချို့ယွင်းမှုဖြစ်သောအခါတွင် တပ်ဆင်ခြင်းရွေးချယ်မှုအသစ်၊ "softreval" ကို ထည့်သွင်းထားပါသည်။ ဥပမာအားဖြင့်၊ ဤရွေးချယ်မှုကို သတ်မှတ်ထားသောအခါ၊ NFS အခန်းကန့်ရှိ လမ်းကြောင်းများကို လမ်းညွှန်ရန်နှင့် ကက်ရှ်တွင် အကျုံးဝင်သော အချက်အလက်များကို ဝင်ရောက်ကြည့်ရှုနိုင်မှုသည် ဆာဗာမရရှိနိုင်ပြီးနောက်တွင် ကျန်ရှိနေပါသည်။
    • ဆောင်ရွက်ခဲ့ပါသည်။ fs-verity ယန္တရား၏ စွမ်းဆောင်ရည်ကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်း၊ ဖိုင်တစ်ခုချင်းစီ၏ သမာဓိနှင့် စစ်မှန်မှုကို ထိန်းချုပ်ရန် အသုံးပြုသည်။ Merkle hash tree ကိုအသုံးပြုခြင်းကြောင့် sequential reading speed တိုးလာသည်။ ကက်ရှ်တွင် ဒေတာမရှိသော အခြေအနေများတွင် အကောင်းဆုံးလုပ်ဆောင်ထားသော FS_IOC_ENABLE_VERITY စွမ်းဆောင်ရည် (ဒေတာပါသော စာမျက်နှာများကို ကြိုတင်ဖတ်ရှုခြင်းကို အသုံးပြုသည်)။
  • Virtualization နှင့် လုံခြုံရေး
    • SE မော်ဂျူးကို ပိတ်နိုင်စွမ်းကို ရပ်ဆိုင်းလိုက်ပါပြီ။Linux လည်ပတ်နေစဉ်အတွင်းနှင့် အနာဂတ်တွင်၊ activated ဖြစ်ပြီးသား SE ကို ချခြင်းLinux တားမြစ်ထားပါမည်။ SE ကို ပိတ်ရန်Linux kernel command line မှာ "selinux=0" parameter ကို ပေးပို့ဖို့ လိုအပ်ပါတယ်။
    • ထပ်ပြောပါသည်။ စနစ်နာရီ၏ အခြေအနေအား ခွင့်ပြုပေးသော time namespaces (CLOCK_REALTIME၊
      CLOCK_MONOTONIC၊ CLOCK_BOOTTIME)၊ ကွန်တိန်နာတွင် သင့်ကိုယ်ပိုင်အချိန်ကို အသုံးပြုပြီး ကွန်တိန်နာကို အခြားအိမ်ရှင်သို့ ပြောင်းရွှေ့သည့်အခါ၊ CLOCK_MONOTONIC နှင့် CLOCK_BOOTTIME ဖတ်ရှုမှုများကို မပြောင်းလဲကြောင်း သေချာစေပါ (စဖွင့်ပြီးသည့်အချိန်၊ အိပ်မုဒ်တွင်ရှိခြင်းတို့ကို ထည့်သွင်းစဉ်းစားခြင်းမရှိ)။
    • /dev/random လော့ခ်ချသောရေကန်ကို ဖယ်ရှားထားသည်။ /dev/random သည် ရေကူးကန်စတင်ခြင်းပြီးနောက် entropy လော့ခ်ချခြင်းကို ကာကွယ်သည့် စည်းကမ်းချက်များ၌ /dev/urandom ကဲ့သို့ ပိုမိုလုပ်ဆောင်သည်။
    • core kernel တွင် VirtualBox အောက်တွင် လည်ပတ်နေသော ဧည့်သည်စနစ်များကို host ပတ်၀န်းကျင် (VirtualBox Shared Folder) မှ တင်ပို့သည့် လမ်းညွှန်များကို mount လုပ်ခွင့်ပြုသည့် driver တစ်ခု ပါဝင်သည်။
    • ဖာထေးမှုအစုံကို BPF စနစ်ခွဲသို့ ထည့်သွင်းခဲ့သည် (BPF ပေးပို့သူ), Spectre V2 တိုက်ခိုက်မှုများကို ကာကွယ်ရန် Retpoline ယန္တရားအား အသုံးပြုခြင်းဖြင့် ၎င်းတို့နှင့်ဆက်စပ်သည့် အဖြစ်အပျက်များ ပေါ်ပေါက်လာသောအခါတွင် BPF ပရိုဂရမ်များကို ခေါ်ဆိုခြင်း၏ ထိရောက်မှုကို တိုးမြှင့်နိုင်စေခြင်း (ဥပမာ၊ ကွန်ရက်ပက်ကတ်တစ်ခုရောက်ရှိလာသည့်အခါ XDP ကိုင်တွယ်သူများကို ခေါ်ဆိုမှုကို အရှိန်မြှင့်နိုင်စေသည်)။
    • AMD APUs ၏ built-in TEE (Trusted Execution Environment) ပတ်ဝန်းကျင်များကို ပံ့ပိုးရန် ယာဉ်မောင်းကို ပေါင်းထည့်ထားသည်။
  • Memory နှင့် System ဝန်ဆောင်မှုများ
    • ယခုအခါ BPF သည် ကမ္ဘာလုံးဆိုင်ရာလုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးပါသည်။ ၎င်းသည် BPF ပရိုဂရမ်များတွင် ပလပ်ထိုးနိုင်သည့် လုပ်ဆောင်ချက်စာကြည့်တိုက်များအတွက် ပံ့ပိုးမှုထည့်ရန် အစပျိုးမှု၏ တစ်စိတ်တစ်ပိုင်းဖြစ်သည်။ နောက်တစ်ဆင့်မှာ ကမ္ဘာလုံးဆိုင်ရာလုပ်ဆောင်ချက်များကို တင်နိုင်ခွင့်ပြုသည့် ဒိုင်းနမစ်နောက်ဆက်တွဲများကို အသုံးပြုနေချိန်တွင် လက်ရှိကမ္ဘာလုံးဆိုင်ရာလုပ်ဆောင်ချက်များကို အစားထိုးခြင်းအပါအဝင်၊ BPF စနစ်ခွဲသည် အစုလိုက်မုဒ်တွင် လုပ်ဆောင်နိုင်သည့် မြေပုံလည်ပတ်မှုပုံစံတစ်မျိုး (အဆက်မပြတ်ဒေတာကို သိမ်းဆည်းရာတွင် အသုံးပြုသည်) ကိုလည်း ပံ့ပိုးပေးပါသည်။
    • Added "cpu_cooling" စက်ပစ္စည်းကို အချိန်တိုအတွင်း idle mode တွင်ထားခြင်းဖြင့် အပူလွန်နေသော CPU ကို အေးစေနိုင်သည်။
    • စနစ်ခေါ်ဆိုမှုထည့်သွင်းထားသည်။ openat2()ဖိုင်လမ်းကြောင်း ကြည်လင်ပြတ်သားမှုကို ကန့်သတ်ရန် နောက်ထပ် အလံအစုံကို ပေးဆောင်သည် (တောင်ပေါ်ဖြတ်ကျော်သည့် အမှတ်များ၊ သင်္ကေတလင့်ခ်များ၊ မှော်လင့်ခ်များ (/proc/PID/fd), "../" အစိတ်အပိုင်းများ)။
    • big.LITTLE ဗိသုကာကိုအခြေခံ၍ ကွဲပြားသောစနစ်များအတွက် chip တစ်ခုတွင် အစွမ်းထက်ပြီး ထုတ်လုပ်မှုနည်းသော စွမ်းအင်သက်သာသော CPU cores များကို ပေါင်းစပ်ထားသည့်အတွက်၊ အချိန်နှင့်တပြေးညီ လုပ်ဆောင်စရာများကို လုပ်ဆောင်သည့်အခါ uclamp_min ကန့်သတ်ဘောင်ကို သတ်မှတ်ထားသည် (ပေါ်လာတယ်။ kernel 5.3 တွင်၊ load pinning ယန္တရား)။ ဤကန့်သတ်ချက်များသည် လုံလောက်သောစွမ်းဆောင်ရည်ရှိသော CPU core တစ်ခုပေါ်တွင်တာဝန်ကိုအချိန်ဇယားဆွဲသူမှချထားကြောင်းသေချာစေသည်။
    • kernel မှလွတ်မြောက်သည်။ 2038 ပြဿနာများ. 32 အစီရင်ခံစာအရ 1970 တွင် ပြည့်သွားမည့် epochal time counter အတွက် 2038-bit (signed int) time_t အမျိုးအစားကို အသုံးပြုသည့် နောက်ဆုံးလက်ကျန်ကိုင်တွယ်သူများကို အစားထိုးခဲ့သည်။
    • အပြိုင်အဆိုင် 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 ၏ရိုးရှင်းသော analog များ)
      IORING_OP_FADVISE၊
      IORING_OP_MADVISE (posix_fadvise နှင့် madvise ခေါ်ဆိုမှုများ၏ အကွဲကွဲကွဲကွဲများ) IORING_OP_SEND၊
      IORING_OP_RECV (ကွန်ရက်ဒေတာပေးပို့ခြင်းနှင့် လက်ခံခြင်း)၊
      IORING_OP_EPOLL_CTL (epoll ဖိုင်ဖော်ပြချက်ပေးသူများတွင် လုပ်ဆောင်ချက်များကို လုပ်ဆောင်နေသည်)။
    • စနစ်ခေါ်ဆိုမှုထည့်သွင်းထားသည်။ pidfd_getfd()လုပ်ငန်းစဉ်တစ်ခုအား အခြားလုပ်ငန်းစဉ်တစ်ခုမှ ဖွင့်ထားသည့်ဖိုင်အတွက် ဖိုင်ဖော်ပြချက်ပေးသူကို ပြန်လည်ရယူရန် ခွင့်ပြုသည်။
    • ဟိုဟာ ဆက်တင်ဖိုင်မှတဆင့် kernel လည်ပတ်မှုဘောင်များကို သတ်မှတ်ရန် အမိန့်ပေးစာကြောင်းရွေးချယ်မှုများအပြင် "bootconfig" ယန္တရား။ ထိုဖိုင်များကို initramfs ပုံသို့ ထည့်သွင်းရန်အတွက် bootconfig utility ကို အဆိုပြုထားသည်။ boot လုပ်နေစဉ်အတွင်း kprobe ကို configure ရန် ဤအင်္ဂါရပ်ကို အသုံးပြုနိုင်သည်။
    • ပြန်လည်ဒီဇိုင်းထုတ်ထားသည်။ အမည်မဖော်လိုသောပိုက်များမှ ဒေတာများကို စာရေးပြီး ဖတ်ရန် စောင့်ဆိုင်းရသည့် ယန္တရားတစ်ခု။ အပြောင်းအလဲသည် ကြီးမားသော ပရောဂျက်များ၏ အပြိုင်စုစည်းမှုကဲ့သို့သော လုပ်ငန်းများကို ပိုမိုမြန်ဆန်စွာ အကောင်အထည်ဖော်နိုင်စေပါသည်။ သို့သော်၊ ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းသည် ဗားရှင်း 4.2.1 တွင် ပြင်ဆင်ထားသည့် ဗားရှင်း 4.3 တွင် ချွတ်ယွင်းချက်တစ်ခုကြောင့် GNU တွင် ပြိုင်ဆိုင်မှုအခြေအနေသို့ ဦးတည်သွားစေနိုင်သည်။
    • မှတ်ဉာဏ်နည်းသော ကန့်သတ်ချက်များကို မခံရစေရန် မှတ်ဉာဏ်အား ကင်းစင်စေသည့် လုပ်ငန်းစဉ်များကို အမှတ်အသားပြုရန် PR_SET_IO_FLUSHER အလံကို prctl() တွင် ထည့်သွင်းထားသည်။
    • အသုံးပြုထားတဲ့ နည်းပညာကို အခြေခံပြီး Android ION မှတ်ဉာဏ်ခွဲဝေမှုစနစ်တွင် လက်အောက်ခံစနစ်တစ်ခု အကောင်အထည်ဖော်ထားသည်။ dma-buf အမှိုက်ပုံဒရိုင်ဘာများ၊ အပလီကေးရှင်းများနှင့် စနစ်ခွဲအမျိုးမျိုးတို့အကြား မှတ်ဉာဏ်ဧရိယာများကို မျှဝေရန်အတွက် DMA buffers များခွဲဝေမှုကို စီမံခန့်ခွဲရန် ခွင့်ပြုသည်။
  • ဟာ့ဒ်ဝဲဗိသုကာများ
    • CPU တွင် မှန်းဆထားသော ညွှန်ကြားချက်များကို လုပ်ဆောင်ခြင်းနှင့် ပတ်သက်သော တိုက်ခိုက်မှုများကို အကာအကွယ်အဖြစ် အကောင်အထည်ဖော်နိုင်စေသည့် ARMv0 တွင် မိတ်ဆက်ထားသည့် E8.5PD တိုးချဲ့မှုအတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။ E0PD-အခြေခံကာကွယ်မှုသည် KPTI (Kernel Page Table Isolation) ကာကွယ်မှုထက် နိမ့်ကျသည်။
    • ARMv8.5 ဗိသုကာကိုအခြေခံသည့်စနစ်များအတွက်၊ ဟာ့ဒ်ဝဲ pseudo-random နံပါတ်ဂျင်နရေတာသို့ဝင်ရောက်ခွင့်ပေးသည့် RNG ညွှန်ကြားချက်အတွက် ပံ့ပိုးမှုကို ထည့်သွင်းထားသည်။ kernel တွင်၊ kernel မှပံ့ပိုးပေးသော pseudo-random နံပါတ်ဂျင်နရေတာကို စတင်သောအခါတွင် RNG ညွှန်ကြားချက်ကို အင်ထရိုပီကို ထုတ်လုပ်ရန် အသုံးပြုသည်။
    • kernel တွင် ထည့်ထားသော MPX (Memory Protection Extensions) အတွက် ပံ့ပိုးမှုကို ဖယ်ရှားထားသည်။ 3.19 မှတ်ဉာဏ်ဧရိယာနယ်နိမိတ်များနှင့် လိုက်လျောညီထွေဖြစ်စေရန်အတွက် အမှတ်အသားများကို စစ်ဆေးခြင်းအား စုစည်းခွင့်ပြုသည်။ ဤနည်းပညာကို compilers များတွင် တွင်တွင်ကျယ်ကျယ်မရှိခဲ့ဘဲ GCC မှ ဖယ်ရှားခဲ့သည်။
    • RISC-V ဗိသုကာအတွက်၊ Memory နှင့် အလုပ်လုပ်သောအခါ အမှားအယွင်းများကို ထောက်လှမ်းနိုင်စေသည့် KASan (Kernel address sanitizer) အမှားရှာပြင်သည့်ကိရိယာအတွက် ပံ့ပိုးမှုကို အကောင်အထည်ဖော်ခဲ့သည်။
  • ပစ္စည်းကရိယာ
    • သတ်မှတ်ချက်များအတွက် ပံ့ပိုးကူညီဆောင်ရွက်ပေးခဲ့သည်။ USB က 4.0Thunderbolt 3 ပရိုတိုကောကို အခြေခံထားပြီး USB 40 နှင့် USB 2.0 နှင့် နောက်ပြန်လိုက်ဖက်မှုကို ထိန်းသိမ်းထားစဉ် 3.2 Gbps အထိ ထုတ်လွှင့်ပေးပါသည်။ နှင့် ဆင်တူသည်။ Thunderbolt USB 4.0 အင်တာဖေ့စ်သည် ချိတ်ဆက်ကိရိယာတစ်ခုဖြင့် ကေဘယ်တစ်ခုတည်းမှ မတူညီသောပရိုတိုကောများကို ဥမင်လှိုဏ်ခေါင်းပြုလုပ်နိုင်စေပါသည်။ Type-CPCIe၊ Display Port နှင့် USB 3.x အပါအဝင်၊ host များအကြား ကွန်ရက်ချိတ်ဆက်မှုများ တည်ဆောက်ရန်အတွက် ပရိုတိုကောများ၏ software အကောင်အထည်ဖော်မှုများ။ အကောင်အထည်ဖော်မှုသည် kernel တွင် ပါဝင်ပြီးသားအရာများအပေါ် အခြေခံသည်။ Linux Thunderbolt driver ကို အပ်ဒိတ်လုပ်ပြီး USB4 နဲ့ တွဲဖက်အသုံးပြုနိုင်တဲ့ host တွေနဲ့ device တွေနဲ့ အလုပ်လုပ်နိုင်အောင် လိုက်လျောညီထွေဖြစ်အောင် လုပ်ထားပါတယ်။ ဒီပြောင်းလဲမှုတွေက port တစ်ခုတည်းကနေတစ်ဆင့် device အများအပြားကို ချိတ်ဆက်ဖို့ tunnel တွေ ဖန်တီးပေးတဲ့ Connection Manager ရဲ့ software implementation မှာ Thunderbolt 3 device တွေအတွက် support ကို ထပ်ထည့်ပေးပါတယ်။
    • amdgpu driver တွင် ထပ်ပြောသည်။ HDCP 2.x (High-bandwidth Digital Content Protection) မိတ္တူကာကွယ်ရေးနည်းပညာအတွက် ကနဦးပံ့ပိုးမှု။ Raven 2 ကိုအခြေခံ၍ AMD Pollock ASIC ချစ်ပ်အတွက် ပံ့ပိုးမှုထပ်တိုးထားသည်။ Renoir နှင့် Navi မိသားစုများအတွက် GPU ကို ပြန်လည်သတ်မှတ်နိုင်စွမ်းကို အကောင်အထည်ဖော်ခဲ့သည်။
    • Intel ဗီဒီယိုကတ်များအတွက် DRM ဒရိုက်ဘာ ထပ်ပြောသည်။ DSI VDSC သည် Ice Lake နှင့် Tiger Lake microarchitecture ကို အခြေခံ၍ ချစ်ပ်များအတွက် ပံ့ပိုးမှု၊ LMEM mmap (စက်တွင်းမှတ်ဉာဏ်) ကို အကောင်အထည်ဖော်သည်၊ VBT (Video BIOS Table) ပိုင်းခြားစိတ်ဖြာမှု ပိုမိုကောင်းမွန်လာပြီး၊ HDCP 2.2 သည် Coffee Lake ချစ်ပ်များအတွက် ပံ့ပိုးပေးပါသည်။
    • amdkfd ဒရိုက်ဘာကုဒ် (ဖီဂျီ၊ တွန်ဂါ၊ ဓူဝံကဲ့သို့သော သီးခြား GPU များအတွက်) amdgpu ဒရိုက်ဘာကို ဆက်လက်လုပ်ဆောင်ခဲ့သည်။
    • k10temp ဒရိုက်ဘာသည် AMD Zen CPU များအတွက် ဗို့အားနှင့် လက်ရှိ ကန့်သတ်ချက်များ အထွက်ကို ပံ့ပိုးပေးသည့်အပြင် Zen နှင့် Zen 2 CPU များတွင် အသုံးပြုသည့် အပူချိန်အာရုံခံကိရိယာများမှ ထပ်လောင်းအချက်အလက်များကို ပြန်လည်ပြုပြင်ထားပါသည်။
    • နူဗိုဒရိုင်ဘာ ထပ်ပြောသည်။ ဤကတ်များအတွက် 2000D အရှိန်မြှင့်ခြင်း ပံ့ပိုးမှုကို ဖွင့်ပေးနိုင်သည့် Turing microarchitecture (GeForce RTX 3) ကို အခြေခံ၍ NVIDIA GPUs အတွက် အတည်ပြုထားသော firmware ဒေါင်းလုဒ်မုဒ်အတွက် ပံ့ပိုးမှု (NVIDIA မှ ဒစ်ဂျစ်တယ်လက်မှတ်ဖြင့် တရားဝင် firmware ကို ဒေါင်းလုဒ်လုပ်ရန် လိုအပ်သည်)။ TU10x ဂရပ်ဖစ်အင်ဂျင်အတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။ 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 ပြဿနာများ (32-bit time_t ကို snd_pcm_mmap_status နှင့် snd_pcm_mmap_control interfaces များတွင် XNUMX-bit ကိုအသုံးပြုခြင်းမှ ဝေးရာသို့ ရွှေ့ပါ။ အသံကုဒ်ဒစ်အသစ်အတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။
      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 အတွက် ဒရိုက်ဗာများတွင် blobs တင်ခြင်းကို ပိတ်ထားသည်။ AMD PSP၊ amdgpu နှင့် nouveau ၏ ဒရိုက်ဗာများနှင့် စနစ်ခွဲများတွင် သန့်ရှင်းရေးအတွက် ကုဒ်ကို အပ်ဒိတ်လုပ်ထားသည်။

source: opennet.ru

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster