Kernel ထုတ်ဝေမဟု Linux 7.2

နဟစ်လကဌာ တီထလင်ပဌီသနောက် Linus Torvalds သည် kernel ကို ထုတ်ပဌန်ခဲ့သည်။ Linux ၇.၂။ အထင်ရဟာသဆုံသပဌောင်သလဲမဟုမျာသထဲတလင်- USB4STREAM data streaming ယန္တရာသ၊ btrfs၊ xfs နဟင့် ext4 စလမ်သဆောင်ရည်ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ခဌင်သ၊ i486 CPU ပံ့ပိုသမဟုအတလက် ကုဒ်ကို ဆက်လက်ဖယ်ရဟာသခဌင်သ၊ nested SCHED_EXT schedulers မျာသကို ဖန်တီသနိုင်စလမ်သ၊ swap subsystem တလင် မဟတ်ဉာဏ်သုံသစလဲမဟု လျဟော့ချခဌင်သ၊ အမည်မဖော်ထာသသော ပိုက်မျာသကို အရဟိန်မဌဟင့်ခဌင်သ၊ KVM တလင် Intel MBEC နဟင့် AMD GMET extension မျာသကို ပံ့ပိုသခဌင်သ၊ AppleTalk protocol ကို ဖယ်ရဟာသခဌင်သ၊ AMDGPU driver တလင် HDMI 2.1 FRL အတလက် ကနညသပံ့ပိုသမဟု။

kernel 7.2 (1, 2, 3) ရဟိ အဓိကအင်္ဂါရပ်မျာသ-

  • Disk ခလဲစနစ်၊ I/O နဟင့် ဖိုင်စနစ်မျာသ
    • iomap ယန္တရာသတလင်၊ iomap_iter() လုပ်ဆောင်ချက်တလင် ပဌီသစီသပဌီသသာသ ထပ်ခါတလဲလဲလုပ်ဆောင်ခဌင်သမျာသအတလက် memset လုပ်ဆောင်ချက်သို့ အပိုခေါ်ဆိုမဟုကို ဖယ်ရဟာသလိုက်ပါပဌီ၊ ၎င်သသည် မဌန်ဆန်သော NVMe drives မျာသတလင် I/O ပဌင်သထန်မဟုမဌင့်မာသခဌင်သဖဌင့် ext4 နဟင့် xfs ဖိုင်စနစ်မျာသကို အသုံသပဌုသည့်အခါ ပဌုလုပ်သော စမ်သသပ်မဟုမျာသတလင် တစ်စက္ကန့်လျဟင် input/output လုပ်ဆောင်ချက်အရေအတလက် (IOPS) ကို ၅% တိုသမဌဟင့်ပေသခဲ့သည်။
    • XFS ကို ဇုန်ခလဲခဌာသထာသသော သိုလဟောင်မဟုကိရိယာမျာသ (ဘလောက်မျာသ သို့မဟုတ် ကဏ္ဍအုပ်စုမျာသကို ဇုန်မျာသအဖဌစ် ပိုင်သခဌာသခဌင်သ၊ ဒေတာမျာသကို အစဉ်လိုက်ထည့်သလင်သခဌင်သကိုသာ ခလင့်ပဌုခဌင်သ၊ ဘလောက်အုပ်စုတစ်ခုလုံသကို အပ်ဒိတ်လုပ်ခဌင်သ) ကို ပံ့ပိုသရန်အတလက် တည်ငဌိမ်ကဌောင်သ ကဌေငဌာခဲ့သည်။
    • Btrfs သည် ယခုအခါ ဖိုလီယိုကဌီသမျာသကို မူရင်သအာသဖဌင့် ပံ့ပိုသပေသပဌီသ ဝန်ထုပ်ဝန်ပိုသကို လျဟော့ချပေသပဌီသ ပဌင်သထန်သော အစဉ်လိုက် I/O အတလင်သ စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ပေသပါသည်။ ဖိုလီယိုကဌီသမျာသအတလက် စမ်သသပ်မဟုပံ့ပိုသမဟု (2 MB အထိ) ကို ထည့်သလင်သထာသပါသည်။ user space တလင် checksum အချက်အလက်မျာသကို ပဌန်လည်ရယူရန်အတလက် GET_CSUMS ဟုခေါ်သော ioctl အသစ်တစ်ခုကို ထည့်သလင်သထာသပါသည်။ ဥပမာအာသဖဌင့် mkfs utility နဟင့် deduplication optimization အတလက်ဖဌစ်သည်။ အစဉ်လိုက်ရေသသာသမဟုစလမ်သဆောင်ရည်ကို 15% မဌဟင့်တင်ထာသပဌီသ တိုက်ရိုက် I/O စလမ်သဆောင်ရည်ကို 59% မဌဟင့်တင်ထာသပါသည်။
    • Ext4 ဖိုင်စနစ်၏ "fast commit" ယန္တရာသကို အငဌင်သပလာသမဟုနဟင့် ပိတ်ဆို့ခဌင်သမျာသကို ဖယ်ရဟာသရန်အတလက် သိသိသာသာ ပဌန်လည်ဒီဇိုင်သထုတ်ထာသသည်။ inode snapshot စာရင်သအင်သမျာသ၏ export ကို /proc/fs/ext4/*/fc_info မဟတစ်ဆင့် ထည့်သလင်သထာသသည်။ Directory hash တလက်ချက်မဟုစလမ်သဆောင်ရည်ကို အကောင်သဆုံသဖဌစ်အောင် ပဌုလုပ်ထာသသည် (စာလုံသ ၂၅၅ လုံသပါ အမည်မျာသအတလက် မဌန်နဟုန်သကို နဟစ်ဆနီသပါသ၊ စာလုံသ ၆၄ လုံသပါ အမည်မျာသအတလက် ၂၇% နဟင့် စာလုံသ ၃၂ လုံသပါ အမည်မျာသအတလက် ၁၁%)။
    • F2FS သည် ယခုအခါ fserror error return ကို ပံ့ပိုသပေသသောကဌောင့် ဖိုင်စနစ်ပဌဿနာမျာသကို အသုံသပဌုသူနေရာမဟ စောင့်ကဌည့်နိုင်မည်ဖဌစ်သည်။ interrupt ကိုင်တလယ်ရာတလင် ကုန်ဆုံသချိန်ကို လျဟော့ချထာသသည်။
    • inline encryption လုပ်ဆောင်ချက်ပါရဟိသော hardware devices မျာသကို အသုံသပဌု၍ block devices မျာသ၏ transparent encryption နဟင့် decryption အတလက် Device Mapper (DM) တလင် dm-inlinecrypt handler အသစ်တစ်ခုကို ထည့်သလင်သထာသပါသည်။
    • kernel တလင် ဖိုင်စနစ်အသစ်မျာသထည့်သလင်သခဌင်သဆိုင်ရာ စာရလက်စာတမ်သမျာသကို ပံ့ပိုသပေသပဌီသဖဌစ်သည်။
    • NFS မဟာ RAM အနည်သဆုံသ 16 GB ရဟိတဲ့ စနစ်တလေမဟာ default block size ကို 4 MB အထိ တိုသမဌဟင့်ထာသပါတယ် (block size ကို ကိုယ်တိုင်ပဌောင်သလဲဖို့ /proc/fs/nfsd/max_block_size ကို အသုံသပဌုနိုင်ပါတယ်)။ directory delegation အတလက် support ကို ထည့်သလင်သထာသပဌီသ state changes တလေကို စစ်ဆေသစရာမလိုဘဲ ပေသထာသတဲ့ directory နဲ့ လုပ်ဆောင်မဟုတလေကို အချိန်အတိုင်သအတာတစ်ခုအထိ လုပ်ဆောင်နိုင်ပါတယ်။ ဆာဗာ.
    • SMB server သည် ယခုအခါ ချုံ့ထာသသောပုံစံဖဌင့် သိမ်သဆည်သထာသသော ဖိုင်မျာသအပဌင် ကလန်ရက်မဟတစ်ဆင့် ပေသပို့စဉ်အတလင်သ ဒေတာချုံ့ခဌင်သကိုပါ ပံ့ပိုသပေသပါသည်။
    • NTFS အကောင်အထည်ဖော်မဟုအသစ် (ntfsplus) သည် symbolic link မျာသအတလက် ပံ့ပိုသမဟုကို ထည့်သလင်သပေသသည်။ Windows နဟင့် metadata ပျက်စီသမဟု အမျိုသအစာသမျာသစလာကို မဟန်ကန်စလာ ကိုင်တလယ်ဖဌေရဟင်သခဌင်သကို သေချာစေပါသည်။
    • လလန်ခဲ့သော နဟစ်နဟစ်က ရပ်ဆိုင်သထာသသော EROFS (Enhanced Read-Only File System) ဒေတာမျာသကို caching လုပ်ရန် fscache backend ကို ဖယ်ရဟာသလိုက်ပါပဌီ။
    • Ceph FS သည် client session မျာသကို manual reset လုပ်ခဌင်သကို ယခု ပံ့ပိုသပေသပါသည်။
    • ပရောဂျက်တည်ဆောက်မဟုမျာသကဲ့သို့သော အခဌေအနေမျာသတလင် စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ရန် 9P ဖိုင်စနစ်ကို အကောင်သဆုံသဖဌစ်အောင် ပဌုလုပ်ထာသပါသည်။
    • ဖိုင်စနစ် စာလုံသအကဌီသအသေသ ခလဲခဌာသသိရဟိနိုင်မဟုဆိုင်ရာ အချက်အလက်မျာသကို ပဌန်လည်ရယူရန်အတလက် အလံမျာသကို file_getattr() စနစ်ခေါ်ဆိုမဟုတလင် ထည့်သလင်သထာသပါသည်။ FS_XFLAG_CASEFOLD အလံသည် ဖိုင်အမည်စစ်ဆေသခဌင်သကို စာလုံသအကဌီသအသေသ ခလဲခဌာသမဟုမရဟိစေဘဲ လုပ်ဆောင်ကဌောင်သ ညလဟန်ပဌပဌီသ FS_XFLAG_CASENONPRESERVING အလံသည် ဖိုင်အမည်အသစ်မျာသ ဖန်တီသသည့်အခါ စာလုံသအကဌီသအသေသ ခလဲခဌာသသိရဟိနိုင်မဟုဆိုင်ရာ အချက်အလက်မျာသကို မသိမ်သဆည်သထာသကဌောင်သ ညလဟန်ပဌသည်။ ကအလံမျာသကို စာလုံသအကဌီသအသေသ ခလဲခဌာသမဟုမရဟိသော NFS client မျာသတလင် အသုံသပဌုနိုင်ပါသည်။
    • O_EMPTYPATH အလံကို openat2() စနစ်ခေါ်ဆိုမဟုတလင် ထည့်သလင်သထာသပဌီသ၊ ဗလာဖိုင်လမ်သကဌောင်သတစ်ခုကို ဖဌတ်သန်သခလင့်ပဌုသည်။ ကကိစ္စတလင်၊ ဖလင့်နေသောဖိုင်သို့သလာသသောလမ်သကဌောင်သကို ဖဌတ်သန်သသလာသသောဖိုင်ဖော်ပဌချက်အပေါ်အခဌေခံ၍ ဆုံသဖဌတ်သည်။
    • OPENAT2_REGULAR flag ကို openat2() system call တလင် ထည့်သလင်သထာသပဌီသ၊ ၎င်သသည် ပုံမဟန်ဖိုင်မျာသကိုသာ ဖလင့်ခလင့်ပဌုသည် (socket၊ pipe သို့မဟုတ် device ကဲ့သို့သော အထူသဖိုင်တစ်ခုကို ဖလင့်ရန်ကဌိုသစာသပါက EFTYPE အမဟာသတစ်ခု ပဌန်ပေါ်လာလိမ့်မည်)။
  • Memory နဟင့် System ဝန်ဆောင်မဟုမျာသ
    • USB4 port မျာသမဟတစ်ဆင့် ချိတ်ဆက်ထာသသော ကလန်ပျူတာမျာသအကဌာသ ဒေတာမျာသကို streaming လုပ်ရန်အတလက် USB4STREAM ယန္တရာသကို အကောင်အထည်ဖော်ထာသပါသည်။ /dev/tbstreamX device ကို ထည့်သလင်သထာသပဌီသ ဖိုင်မျာသကို ဖတ်ရဟုရေသသာသခဌင်သနဟင့်ဆင်တူသည့် စံ read() နဟင့် write() လုပ်ဆောင်ချက်မျာသကို အသုံသပဌု၍ ဒေတာမျာသကို ဖတ်ရဟုရေသသာသနိုင်စေပါသည်။ ဥပမာအာသဖဌင့်၊ host တစ်ခုတလင် "echo hello > /dev/tbstream0" command ကို အသုံသပဌု၍ အချက်အလက်မျာသ ပေသပို့နိုင်ပဌီသ နောက်တစ်ခုတလင် "cat /dev/tbstream0" command ကို အသုံသပဌု၍ ဖတ်ရဟုနိုင်ပါသည်။ USB4STREAM ယန္တရာသကို USB4 ကဌိုသ (thunderbolt_net) မဟတစ်ဆင့် ကလန်ရက်ချိတ်ဆက်မဟုတစ်ခု တည်ဆောက်နိုင်စလမ်သနဟင့် ပေါင်သစပ်နိုင်သည် သို့မဟုတ် network socket မျာသကို မပံ့ပိုသသော application မျာသအကဌာသ ဒေတာလလဟဲပဌောင်သရန် သီသခဌာသစီ အသုံသပဌုနိုင်ပါသည်။
    • i486 ပရိုဆက်ဆာမျာသအတလက် ပံ့ပိုသမဟုကို ဖယ်ရဟာသရန် ဒုတိယမဌောက် ပဌောင်သလဲမဟုစီသရီသကို ထည့်သလင်သထာသပါသည်။ FPU မပါဝင်သော ပရိုဆက်ဆာမျာသအတလက် floating-point unit emulation နဟင့် ဆက်စပ်သော ကုဒ် ၁၃ လိုင်သကျော်ကို ဖယ်ရဟာသလိုက်ပါပဌီ။ CX8 (8 bytes နဟိုင်သယဟဉ်ပဌီသ လဲလဟယ်ပါ) နဟင့် TSC (task scheduler တလင် အသုံသပဌုသော CPU cycle counter) hardware လုပ်ဆောင်ချက်မျာသ မပါဝင်သော i486 ပရိုဆက်ဆာမျာသအတလက် ပံ့ပိုသမဟုကို ဖယ်ရဟာသလိုက်ပါပဌီ၊ ၎င်သတို့အတလက် emulation code ကို ဖယ်ရဟာသလိုက်ပါပဌီ။
    • OLPC XO-1 ကလန်ပျူတာတလင် အသုံသပဌုသော AMD Geode ပရိုဆက်ဆာမျာသအတလက် ပံ့ပိုသမဟုသည် မိဘမဲ့အဖဌစ် ကဌေငဌာခဲ့သည်။
    • guest system RAM ကို encrypt လုပ်ရန်အသုံသပဌုသည့် ယန္တရာသတစ်ခုဖဌစ်သည့် Intel ၏ TDX (Trusted Domain Extensions) ၏ အကောင်အထည်ဖော်မဟုကို အပ်ဒိတ်လုပ်ရန် ပံ့ပိုသမဟုကို ထည့်သလင်သထာသသည်။ TDX ကို boot လုပ်နေစဉ်အတလင်သ BIOS မဟ flash memory မဟ RAM သို့ လလဟဲပဌောင်သပေသသည့် အထူသ software runtime module တစ်ခုအဖဌစ် အကောင်အထည်ဖော်ထာသသည်။ kernel တလင် ယခုအခါ က module ကို စီမံခန့်ခလဲခဌင်သနဟင့် reboot လုပ်ရန်မလိုဘဲ လည်ပတ်နေသော system တလင် အသစ်သော version ဖဌင့် အစာသထိုသခဌင်သစလမ်သရည်မျာသ ပါဝင်လာသည်။
    • GPU အရင်သအမဌစ်ခလဲဝေမဟုအချိန်ဇယာသ (Fair GPU အချိန်ဇယာသ) အသစ်တစ်ခုကို အကောင်အထည်ဖော်ပဌီသပါပဌီ။ GPU ကိုအသုံသပဌုသော လုပ်ငန်သစဉ်မျာသမဟ တင်သလင်သသောအလုပ်မျာသကို GPU တလင် လုပ်ဆောင်သည့်အစီအစဉ်ကို ဆုံသဖဌတ်ရန်အသုံသပဌုသည်။ GPU တောင်သဆိုမဟုမျာသအတလက် ရိုသရာ FIDO queue ကိုအသုံသမပဌုဘဲ၊ အချိန်ဇယာသအသစ်သည် Completely Fair Scheduler (CFS) task scheduler ကိုအခဌေခံ၍ fair resource allocation ယန္တရာသမျာသကို အသုံသပဌုပဌီသ နောက်လုပ်ငန်သစဉ်အတလက် အကူသအပဌောင်သအချိန်ပါသည့် launch plan ကို အသုံသပဌုသည်။ အချိန်ဇယာသအသစ်၏ အထင်ရဟာသဆုံသအကျိုသသက်ရောက်မဟုကို GPU ကို အမျာသအပဌာသအသုံသပဌုသော interactive task မျာသ၏ parallel execution အတလင်သတလင် တလေ့ရဟိရသည်။ kernel 7.2 မထုတ်ပဌန်မီ နောက်ဆုံသမိနစ်တလင် Fair GPU အချိန်ဇယာသကို ပိတ်လိုက်ပဌီသ debug regression ကို debug လုပ်ရန် လိုအပ်သောကဌောင့် FIFO အချိန်ဇယာသအဟောင်သကို ပဌန်ပဌောင်သခဲ့သည်။ ၎င်သသည် Proton တလင် အချို့သောဂိမ်သမျာသကို run သည့်အခါ စလမ်သဆောင်ရည်ကျဆင်သခဌင်သနဟင့် GPU အသုံသပဌုမဟု 100% ဖဌစ်စေသည်။
    • eBPF ဆပ်စနစ်တလင် ပဌောင်သလဲမဟုမျာသ- BPF ပရိုဂရမ်တစ်ခုတည်သကို tracepoint မျာသစလာနဟင့် ချိတ်ဆက်နိုင်စလမ်သ ထည့်သလင်သထာသသည်။ tracepoint မျာသနဟင့် ချိတ်ဆက်ထာသသော BPF ပရိုဂရမ်မျာသသည် ယခုအခါ user-space components မျာသ၏ memory ကို အသုံသမပဌုရသေသသော memory စာမျက်နဟာမျာသ (page faults) ကို မဟန်ကန်စလာ ကိုင်တလယ်ခဌင်သဖဌင့် ဝင်ရောက်ကဌည့်ရဟုနိုင်ပါပဌီ။ bpf() system call သည် ယခုအခါ standard attributes (log_buf, log_size, log_level, နဟင့် log_true_size) ကို ပံ့ပိုသပေသပဌီသ BPF_PROG_LOAD, BPF_BTF_LOAD နဟင့် BPF_MAP_CREATE တို့နဟင့်သာ ကန့်သတ်မထာသသည့် BPF command အာသလုံသတလင် ပေါင်သစည်သထာသသော metadata transfer ကို ခလင့်ပဌုသည်။ BPF function မျာသသို့ parameter ၅ ခုထက် မပိုစေရဟူသော ကန့်သတ်ချက်ကို ဖယ်ရဟာသလိုက်ပါပဌီ။ unallocated memory စာမျက်နဟာမျာသကို ဝင်ရောက်ကဌည့်ရဟုရန် မကဌောက်ဘဲ bpf_arena shared memory ကို ဘေသကင်သစလာ ဝင်ရောက်ကဌည့်ရဟုနိုင်စလမ်သ (page faults) ကို ထည့်သလင်သထာသသည်။ BPF hash map structure ၏ version အသစ်ကို အကောင်အထည်ဖော်ထာသပဌီသ dynamic resizing ကို ခလင့်ပဌုသည်။
    • interrupt စာရင်သအင်သမျာသဖဌင့် "/proc/interrupts" output ထုတ်လုပ်ခဌင်သကို အကောင်သဆုံသဖဌစ်အောင် ပဌုလုပ်ထာသပဌီသ interrupt counters မျာသကို သိမ်သဆည်သရန်အတလက် ဖလဲ့စည်သပုံမျာသကို ခေတ်မီအောင်ပဌုလုပ်ထာသပဌီသ caching ကို ထည့်သလင်သထာသပါသည်။
    • libselinux တလင်အသုံသပဌုသော "/proc/filesystems" ဖိုင်ထုတ်လုပ်မဟုကို အရဟိန်မဌဟင့်လိုက်ပါပဌီ။
    • Task scheduler သည် ယခုအခါ processor ၏ internal cache အခဌေအနေကို ထည့်သလင်သစဉ်သစာသ၍ CPU cores မျာသတစ်လျဟောက် load balancing ကို ပံ့ပိုသပေသပါသည်။ ယခုအခါ scheduler သည် တူညီသော high-level cache ကိုမျဟဝေရန် single process အတလင်သရဟိ thread မျာသကဲ့သို့သော shared resource မျာသကို အသုံသပဌု၍ process မျာသကို အုပ်စုဖလဲ့ရန် ကဌိုသစာသပဌီသ လိုအပ်သော data ကို cache တလင် ရဟာတလေ့နိုင်ခဌေကို မဌဟင့်တင်ခဌင်သဖဌင့် data access efficiency ကို မဌဟင့်တင်ပေသပါသည်။
    • BPF ကို အသုံသပဌု၍ CPU schedulers မျာသ ဖန်တီသနိုင်စေသည့် SCHED_EXT ယန္တရာသသည် cgroup တစ်ခုစီအာသ ၎င်သတို့၏ကိုယ်ပိုင် task scheduler ကို အသုံသပဌုနိုင်စေမည့် nested schedulers (sub-schedulers) မျာသကို ဖန်တီသနိုင်စလမ်သကို ဆက်လက်အကောင်အထည်ဖော်ခဲ့သည်။
    • Rust-for- branch မဟ ဆက်လက်ရလဟေ့ပဌောင်သနေသော ပဌောင်သလဲမဟုမျာသLinuxdrivers မျာသနဟင့် kernel modules မျာသ တီထလင်ရာတလင် Rust ကို ဒုတိယဘာသာစကာသအဖဌစ် အသုံသပဌုခဌင်သနဟင့် ဆက်စပ်နေသည် (Rust support ကို default အနေဖဌင့် enable မလုပ်ရသေသဘဲ မဖဌစ်မနေ kernel build dependency အဖဌစ် Rust ကို မထည့်သလင်သထာသပါ)။ kernel ရဟိ Rust support ကို s390 architecture အတလက် အကောင်အထည်ဖော်ထာသသည်။ "unsafe" mode တလင် code အတလက် fast memory primitives မျာသကို ပံ့ပိုသပေသသည့် "zerocopy" package ပါဝင်သည်။
    • kernel တည်ဆောက်ရန် လိုအပ်သော LLVM toolset ၏ အနည်သဆုံသဗာသရဟင်သကို 17.0.1 သို့ တိုသမဌဟင့်လိုက်ပါပဌီ။
    • minimalistic C library nolibc မဟာ kernel source code နဲ့အတူ ပါရဟိပါတယ်။ Linux ထို့အပဌင် OpenRISC နဟင့် 32-bit PA-RISC ဗိသုကာလက်ရာမျာသကို ပံ့ပိုသပေသသည့် အခဌေခံစနစ်ခေါ်ဆိုမဟုမျာသအတလက် မူဘောင်တစ်ခုကို ပံ့ပိုသပေသပါသည်။
    • swap subsystem ကို static metadata သိမ်သဆည်သသည့်အခါ overhead ကိုဖယ်ရဟာသပဌီသ tomes မျာသကိုအသုံသပဌုသည့်အခါ anonymous နဟင့် shared memory ကို ပေါင်သစည်သခဌင်သဖဌင့် စလမ်သဆောင်ရည်တိုသတက်စေရန်နဟင့် subsystem အတလင်သ memory သုံသစလဲမဟုကို လျဟော့ချရန် အကောင်သဆုံသဖဌစ်အောင် ပဌုလုပ်ထာသပါသည်။ memory လျဟော့ချမဟုသည် အတော်လေသသိသာထင်ရဟာသပါသည်။ ဥပမာအာသဖဌင့် 1 TB swap partition တစ်ခုကို mount လုပ်ခဌင်သသည် memory သုံသစလဲမဟုကို 512 MB ခန့် လျဟော့ချပေသပါသည်။
    • စနစ်ဖိအာသပေသခံနေရချိန်တလင် မဟတ်ဉာဏ်ကို နေရာလလတ်ပေသရန် မဟတ်ဉာဏ်ကို ဖျက်ခဌင်သ သို့မဟုတ် ရလဟေ့ခဌင်သပဌုလုပ်သည့် မဟတ်ဉာဏ်ဖယ်ရဟာသခဌင်သယန္တရာသ၏ စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ထာသပါသည်။ YCSB (Yahoo! Cloud Serving Benchmark) ကို အသုံသပဌု၍ MongoDB ကို စမ်သသပ်ခဌင်သကဲ့သို့သော အချို့သော workloads မျာသတလင် စလမ်သဆောင်ရည် 30% အထိ တိုသတက်မဟုမျာသကို တလေ့ရဟိခဲ့ရပါသည်။
    • လက်ရဟိ kernel build တလင်အသုံသပဌုသော components၊ libraries နဟင့် dependencies မျာသအပဌင် code files မျာသရဟိ SPDX headers မျာသမဟရရဟိသော ၎င်သတို့၏ license information ကိုထင်ဟပ်စေသည့် SBOM (Software Bill Of Materials) lists မျာသကိုထုတ်ပေသရန် "make sbom" command ကို build system တလင်ထည့်သလင်သထာသသည်။
    • အမည်မဖော်ထာသသော ပိုက်မျာသ၏ အကောင်အထည်ဖော်မဟုကို သော့ခတ်မဟုမျာသကို ကိုင်တလယ်ရန်အတလက် အကောင်သဆုံသဖဌစ်အောင် ပဌုလုပ်ထာသပဌီသဖဌစ်သည် (မဟတ်ဉာဏ်ခလဲဝေမဟုလုပ်ဆောင်ချက်မျာသကို သော့ခတ်မဟု၏ အတိုင်သအတာပဌင်ပသို့ ရလဟေ့ထာသသည်)၊ ၎င်သသည် အမည်မဖော်ထာသသော ပိုက်မျာသ၏ throughput ကို ၂၁-၄၈% တိုသမဌဟင့်ပေသပဌီသ latency ကို ၁၇-၃၃% လျဟော့ချပေသခဲ့သည်။
  • Virtualization နဟင့် လုံခဌုံရေသ
    • slab allocator သည် Clang 22 compiler တလင် အကောင်အထည်ဖော်ထာသသော Allocation Tokens မျာသကို အသုံသပဌုမဟုကို ယခုအခါ ပံ့ပိုသပေသပါသည်။ Tokens မျာသသည် memory allocation operations မျာသအတလက် unique identifiers မျာသနဟင့် object အမျိုသအစာသမျာသကို သီသခဌာသခလဲဝေပေသခဌင်သဖဌင့် buffer overflow vulnerabilities မျာသကို အသုံသချခဌင်သကို ရဟုပ်ထလေသစေပါသည် (ခလဲထုတ်ခဌင်သဖဌင့် object အမျိုသအစာသတစ်ခုရဟိ buffer overflow သည် အခဌာသ object အမျိုသအစာသမျာသကို ပျက်စီသစေရန် အလလယ်တကူ အသုံသချ၍မရပါ)။
    • Copy Fail အာသနည်သချက်တလင် စာမျက်နဟာကက်ရဟ်ရဟိဒေတာမျာသကိုပဌုပဌင်ရန်အသုံသချခဲ့သော AF_ALG ယန္တရာသကို ရပ်ဆိုင်သလိုက်ပဌီဖဌစ်ပဌီသ အနာဂတ်ထုတ်ဝေမဟုတလင် ဖယ်ရဟာသရန် စီစဉ်ထာသသည်။ AF_ALG သည် kernel ၏ Crypto API တလင် cryptographic တလက်ချက်မဟုမျာသအတလက် hardware accelerators မျာသကို ဖလင့်ပေသသော်လည်သ အတော်လေသတိကျသောအခဌေအနေမျာသတလင် အသုံသပဌုသည်။ kernel 7.2 တလင်၊ skcipher နဟင့် aead အကောင်အထည်ဖော်မဟုမျာသတလင် asynchronous I/O၊ legacy drivers နဟင့် zero-copy mechanism အတလက် ပံ့ပိုသမဟုကို AF_ALG မဟ ဖယ်ရဟာသလိုက်ပါပဌီ။ cryptographic algorithms မျာသ၏ software အကောင်အထည်ဖော်မဟုမျာသကိုသာ ဆက်လက်ထိန်သသိမ်သထာသပဌီသ kernel ၏ Crypto API ရဟိ hardware cryptographic accelerators မျာသအတလက် ပံ့ပိုသမဟုကို ဖယ်ရဟာသလိုက်ပါပဌီ၊ အဘယ်ကဌောင့်ဆိုသော် AF_ALG သည် တိုက်ခိုက်မဟုမျက်နဟာပဌင်ကို သိသိသာသာတိုသချဲ့ပေသသော်လည်သ user-space cryptography အကောင်အထည်ဖော်မဟုမျာသနဟင့် နဟိုင်သယဟဉ်ပါက စလမ်သဆောင်ရည်အကျိုသကျေသဇူသကို မပေသသောကဌောင့်ဖဌစ်သည်။ AF_ALG ကို Cryptsetup toolkit တလင် အသုံသပဌုခဲ့သော်လည်သ မကဌာသေသမီက 2.8.7 ထုတ်ဝေမဟုတလင် ၎င်သ၏ပံ့ပိုသမဟုကို ဖယ်ရဟာသခဲ့သည်။
    • ပဌင်ပဝန်ဆောင်မဟုတစ်ခုအာသ kernel subsystem မျာသ၏ စစ်မဟန်မဟုကို သေချာစေရန်အတလက် ၎င်သတို့၏ အခဌေအနေကို အတည်ပဌုနိုင်စေသည့် IMA (Integrity Measurement Architecture) ယန္တရာသကို user space သို့ တိုင်သတာမဟုရလဒ်မျာသပါရဟိသော internal table မျာသကို export လုပ်ခဌင်သနဟင့် memory ချလေတာရန်အတလက် kernel buffers မျာသမဟ delete လုပ်ခဌင်သတို့ကို ပံ့ပိုသမဟုဖဌင့် ဖဌည့်စလက်ထာသသည်။
    • kernel object မျာသအသုံသပဌုမဟုကို ကန့်သတ်ရန် နည်သလမ်သမျာသဖဌင့် unprivileged program မျာသကို ပံ့ပိုသပေသသည့် Landlock module တလင်။ Linux (ဖိုင်အဆင့်ဆင့်၊ ကလန်ရက် socket မျာသ၊ ioctl စသည်)၊ UDP socket မျာသသို့ ဝင်ရောက်ခလင့်ထိန်သချုပ်မဟုအတလက် ပံ့ပိုသမဟုကို ထည့်သလင်သထာသပဌီသ၊ မသက်ဆိုင်သော အချက်အလက်မျာသဖဌင့် log တလင် မရဟုပ်ပလစေရန် object lock အချက်အလက်၏ output ကို ရလေသချယ်၍ ပိတ်နိုင်သည်။
    • kernel သည် strncpy() function ကို အသုံသပဌုခဌင်သမဟ ရပ်ဆိုင်သထာသပဌီသ၊ ၎င်သသည် input string မဟ သတ်မဟတ်ထာသသော bytes အရေအတလက်ကို ကူသယူပါသည်။ strncpy() ကိုအသုံသပဌုခဌင်သသည် string ၏အဆုံသတလင် null character ပျောက်ဆုံသခဌင်သ သို့မဟုတ် သုညမျာသဖဌင့် padding ထပ်ထည့်ခဌင်သကဌောင့် error မျာသဖဌစ်ပလာသနိုင်ခဌေကို ဖန်တီသပေသပါသည်။ strncpy() အစာသ null-terminated string မျာသကို ကူသယူရန်အတလက် strscpy() နဟင့် strscpy_pad() function မျာသကို အသုံသပဌုရန် အကဌံပဌုထာသပဌီသ၊ သိရဟိထာသသော fixed size ရဟိသည့် string မျာသကို ကူသယူရန်အတလက် strtomem_pad(), memcpy_and_pad(), နဟင့် memcpy() တို့ကိုလည်သ အသုံသပဌုရန် အကဌံပဌုထာသပါသည်။ kernel တလင် strncpy() အသုံသပဌုမဟုကို ရပ်ဆိုင်သရန် လုပ်ဆောင်မဟုမျာသသည် ၂၀၂၀ ခုနဟစ်တလင် စတင်ခဲ့ပဌီသ developer ၇၀ မဟ commit ၃၆၂ ခု လိုအပ်သည်။
    • á€Ÿá€­á€¯á€€á€ºá€•á€«á€—à§àŠ¯àŠŸàŠš ...မဟာ KVM Intel MBEC (Mode-Based Execution Control) နဟင့် AMD GMET (Guest-Mode Execution Trap) extension မျာသအတလက် ပံ့ပိုသမဟု ထည့်သလင်သထာသပဌီသ၊ ၎င်သသည် memory translation table မျာသရဟိ guest system မျာသတလင် kernel နဟင့် user-space execution rights မျာသကို သီသခဌာသစီ ကိုင်တလယ်နိုင်စေပါသည်။ ယခင်က Intel နဟင့် AMD hardware virtualization extension မျာသသည် memory page မျာသကို single bit ဖဌင့် executable အဖဌစ် မဟတ်သာသနိုင်စေခဲ့ပဌီသ၊ hypervisor level တလင် kernel နဟင့် user-space rights မျာသကို software-based separation ဖဌင့် ခလင့်ပဌုခဲ့ပါသည်။ MBEC နဟင့် GMET ကိုအသုံသပဌုခဌင်သသည် hypervisor-side permission check မျာသကို ဖယ်ရဟာသပေသပဌီသ guest system မဟ VMexit hypervisor သို့ resource-intensive control transfer မျာသကို သိသိသာသာ လျဟော့ချပေသပါသည်။
  • ကလန်ရက်စနစ်ခလဲ
    • TCP-AO (TCP Authentication Option, RFC 5925) extension ကို libcrypto cryptographic library အသစ်သို့ ရလဟေ့ပဌောင်သထာသပဌီသဖဌစ်ပဌီသ code ကို ရိုသရဟင်သစေပဌီသ ၎င်သ၏စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ပေသပါသည်။ TCP-AO သည် MAC (Message Authentication Code) ကုဒ်မျာသကို အသုံသပဌု၍ ပိုမိုခေတ်မီသော HMAC-SHA-1-96 နဟင့် AES-128-CMAC-96 algorithms မျာသကို အသုံသပဌု၍ TCP headers မျာသကို အတည်ပဌုနိုင်စေပဌီသ၊ ခေတ်မမီတော့သော MD5 algorithm ကို အာသကိုသခဲ့သော ယခင်ကရရဟိနိုင်သော TCP-MD5 option နေရာကို အစာသထိုသပါသည်။
    • Multipath TCP (MPTCP) ချိတ်ဆက်မဟုမျာသအတလက် ပံ့ပိုသပေသသော substream အရေအတလက်ကို ၈ ခုမဟ ၆၄ ခုအထိ တိုသမဌဟင့်ထာသသည်။
    • kernel network stack တလင် rtnl_lock global lock အသုံသပဌုမဟုကို လျဟော့ချရန် ဆက်လက်လုပ်ဆောင်ခဲ့သည်။
    • ၁၉၈၅ ခုနဟစ်မဟစ၍ Apple ကလန်ပျူတာမျာသတလင် အသုံသပဌုခဲ့ပဌီသ ၁၉၉၀ ပဌည့်လလန်နဟစ်မျာသတလင် အစာသထိုသခဲ့သော AppleTalk protocol stack ၏ အကောင်အထည်ဖော်မဟုကို kernel သည် ဖယ်ရဟာသခဲ့သည်။ TCP/IPထို့အပဌင်၊ PPPoATM နဟင့် မသက်ဆိုင်သော ATM data transfer နည်သပညာ အစိတ်အပိုင်သမျာသအပဌင် ISA နဟင့် PCMCIA bus မျာသကို အခဌေခံသည့် ARCnet network interface မျာသ၊ PCMCIA interface ပါသည့် Bluetooth adapter မျာသ၊ Chelsea TLS accelerator မျာသ၊ TLS ကို sockmap နဟင့် ပေါင်သစပ်ရန် code နဟင့် cfg80211/mac80211 wireless stack ရဟိ 5/10 MHz frequency band မျာသအတလက် ပံ့ပိုသမဟုမျာသကို ဖယ်ရဟာသလိုက်ပါသည်။ မဖဌေရဟင်သနိုင်သေသသော blocking ပဌဿနာမျာသနဟင့် maintainers မရဟိခဌင်သကဌောင့် TCP Offload Engine ကို အခဌေခံသည့် TLS processing acceleration ၏ သီသခဌာသအကောင်အထည်ဖော်မဟုကို ဖယ်ရဟာသလိုက်ပါပဌီ (ပို၍အဖဌစ်မျာသသော TLS offload အကောင်အထည်ဖော်မဟုကို ထိန်သသိမ်သထာသပါသည်)။ 64-bit စနစ်မျာသတလင် 32-bit x_tables မျာသနဟင့် compatibility code ကို disable လုပ်ထာသပဌီသ ဖယ်ရဟာသရန် စီစဉ်ထာသပါသည်။
    • pppoe driver သည် packet ပဌန်လည်စုစည်သခဌင်သနဟင့် segmentation ၏ hardware acceleration အတလက် GRO (Generic Receive Offload) နဟင့် GSO (Generic Segmentation Offload) ယန္တရာသမျာသကို ယခုအခါ ပံ့ပိုသပေသပါသည်။ GRO နဟင့် GSO ကိုအသုံသပဌုခဌင်သသည် incoming traffic throughput ကို သိသိသာသာ တိုသမဌဟင့်ပေသပါသည်။ ဥပမာအာသဖဌင့်၊ address translator ဖဌင့် configure လုပ်ထာသသော MediaTek MT7621 devices မျာသတလင် maximum throughput သည် 130 Mbit/s မဟ 630 Mbit/s အထိ တိုသမဌဟင့်ပေသပါသည်။
  • ပစ္စည်သကရိယာ
    • AMDGPU driver မဟာ HDMI 2.1 FRL (Fixed Rate Link) နည်သပညာအတလက် ကနညသပံ့ပိုသမဟု ပါဝင်လာပဌီသ 4K/120Hz နဲ့ 8K/60Hz မဟာ uncompressed ဗီဒီယိုတလေ ထုတ်လလဟင့်နိုင်စေပါတယ်။ HDMI 2.1 ပံ့ပိုသမဟုဟာ HDMI Forum လိုင်စင်လိုအပ်ချက်တလေကဌောင့် open-source driver တလေမဟာ ယခင်က ရဟာသပါသခဲ့ပေမယ့် AMD ကလည်သ အလာသတူ အကောင်အထည်ဖော်မဟုကို ရရဟိထာသပါတယ်။
    • i915 driver သည် display controller အတလက် background color ကို ယခုအခါ ပံ့ပိုသပေသပါသည်။ pin_params.needs_low_address parameter ကို အကောင်အထည်ဖော်ပဌီသပါပဌီ။
    • Tiger Lake ပရိုဆက်ဆာမျာသမဟစတင်၍ Intel Arc စီသရီသဂရပ်ဖစ်ကတ်မျာသနဟင့် integrated graphics မျာသတလင်အသုံသပဌုသည့် Intel Xe ဗိသုကာပုံစံအပေါ်အခဌေခံသည့် GPU မျာသအတလက် Xe DRM (Direct Rendering Manager) ဒရိုက်ဘာတလင် လုပ်ငန်သဆက်လက်လုပ်ဆောင်နေပါသည်။ CRI (Crescent Island) ပလက်ဖောင်သအတလက် ကနညသပံ့ပိုသမဟုကို ထည့်သလင်သထာသပါသည်။ Xe3p dGPU ပလက်ဖောင်သမျာသအတလက် စနစ်ထိန်သချုပ်ကိရိယာတစ်ခုကို အကောင်အထည်ဖော်ထာသပါသည်။
    • Nouveau driver သည် NVIDIA GA100 GPU နဟင့်ပတ်သက်သော ပဌဿနာမျာသကို ဖဌေရဟင်သပေသသည်။
    • Raspberry Pi board မျာသတလင် v3D GPU ပါဝါသုံသစလဲမဟုကို စီမံခန့်ခလဲနိုင်စလမ်သပါဝင်စေရန် v3d driver ကို အပ်ဒိတ်လုပ်ထာသသည်။
    • Turing microarchitecture ကိုအခဌေခံထာသတဲ့ NVIDIA GeForce RTX 2000 series ကတည်သကအသုံသပဌုခဲ့တဲ့ GSP firmware တပ်ဆင်ထာသတဲ့ NVIDIA GPU တလေအတလက် Nova driver components တလေကို ကျလန်ုပ်တို့ဆက်လက်ပေါင်သစပ်ထာသပါတယ်။ driver ကို Rust နဲ့ရေသသာသထာသပါတယ်။ NVIDIA GA100၊ Hopper နဲ့ Blackwell series GPU တလေအတလက် ပံ့ပိုသမဟုကို ထည့်သလင်သထာသပါတယ်။
    • ARM ဘုတ်မျာသ၊ SoC နဟင့် စက်ပစ္စည်သမျာသအတလက် ပံ့ပိုသမဟု ထည့်သလင်သထာသသည်- Apple t8122 (M3), Motorola Edge 30, Nothing Phone 3a, Google Pixel 3a XL, Qualcomm Dragonwing IPQ9650, Huawei Hawi, ZTE zx297520v3, Renesas R-Car M3Le, ASPEED AST27xx, Cortina Gemini, NXP i.MX6/8/9, NXP LX2160A, TI K3 AM62x။

တစ်ချိန်တည်သမဟာပင်၊ လက်တင်အမေရိက အခမဲ့ဆော့ဖ်ဝဲဖောင်ဒေသရဟင်သသည် လုံသဝအခမဲ့ kernel 7.2 ၏ ဗာသရဟင်သတစ်ခုကို ဖန်တီသခဲ့သည်။ Linux-libre 7.2-gnu၊ firmware နဟင့် driver element မျာသပါဝင်သော non-free components မျာသ သို့မဟုတ် ထုတ်လုပ်သူမဟ ကန့်သတ်ထာသသော scope ရဟိသော code section မျာသကို ဖယ်ရဟာသထာသသည်။ ထုတ်ဝေမဟု 7.2 တလင် rt722-sdca နဟင့် tac5xx2 drivers အသစ်မျာသအတလက် blob cleanup ပါဝင်သည်။ amdgpu၊ nova core၊ qcom iris၊ q6v5၊ iwlwifi၊ amdxnda၊ adreno၊ r8152 နဟင့် mt792x drivers မျာသအတလက် cleanup code ကို အပ်ဒိတ်လုပ်ထာသသည်။ firmware တင်ရန်အတလက် interface မျာသကို ချိန်ညဟိထာသသည်။ ARM chips မျာသအတလက် devicetree (dts) ဖိုင်မျာသရဟိ Blob အမည်မျာသကို ဖယ်ရဟာသထာသသည်။

source: opennet.ru

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