ááŸá áºáááŒá¬ááœá¶á·ááŒáá¯ážááá¯ážáááºááŒá®ážáá±á¬áẠLinus Torvalds ááááºáááºáá±ážáá²á·ááẠkernel áá¯ááºáá±ážááŒááºážá Linux ááᯠ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 ááœá²á
áá
áºá á¡áááº/á¡ááœááºááŸáá·áº ááá¯ááºá
áá
áºáá»á¬áž-
- cgroup á¡ááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá á¡áá áºáá±á¬ I/O áŠážá á¬ážáá±áž ááááºážáá»á¯ááºáá° - rq-qosá cgroup áá áºáá¯á á®á á¡ááœá²á·áááºáá»á¬ážá០áá¯ááºáá±ážáá±á¬ á ááºáá á¹á ááºážáá»á¬ážááᯠááááºááá¯á·áááºá¡ááœáẠáŠážá á¬ážáá±ážáá¯ááºáá±á¬ááºááŒááºáž áá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠááááºážáá»á¯ááºááá¯ááºáááºá áŠážá á¬ážáá±áž ááááºážáá»á¯ááºáááááᬠáá¶á·ááá¯ážááŸá¯á¡áá áºááᯠmq-deadline I/O á¡áá»áááºááá¬ážááᯠááá·áºááœááºážáá¬ážáá«áááºá
- ext4 ááá¯ááºá áá áºááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá ááŸááºáááºážá០ááá¯ááºážáá¶á·áá¬ážáá±á¬ ááœá±áá±ážááœá±áá°áá»á¬ážá¡á¬ážáá¯á¶ážááᯠááŸááºáááºážááŸáá·áº áááºá ááºááŒá¬ážáá¶áá»á¬ážááᯠáá áºááºááá¯á· ááœááºážá¡á¬ážáá±ážááá·áº ioctl command á¡áá ẠEXT4_IOC_CHECKPOINTá ááŒá±á¬ááºážáá²ááŸá¯ááẠááá¯ááºá áá áºáá»á¬ážá០á¡áá»ááºá¡áááºáá±á«ááºááŒá¬ážááŸá¯ááᯠáá¬ááœááºááẠá¡á áá»áá¯ážááŸá¯á áá áºá áááºáá áºááá¯ááºážá¡ááŒá ẠááŒááºáááºáá¬ážáá«áááºá
- Btrfs ááœáẠáá«áááºááẠá áœááºážáá±á¬ááºááẠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠááŒá¯áá¯ááºááŒááºáž- fsync áá¯ááºáá±á¬ááºááŸá¯á¡ááœááºáž áááá¯á¡ááºáá² ááá¯ážáá»á²á·áá¬ážáá±á¬ á¡ááºá¹áá«áááºáá»á¬ážááᯠááááºážáááºážááŒááºážá០áááºááŸá¬ážááŒááºážááŒáá·áºá ááá¯ážáá»á²á·áá¬ážáá±á¬ áááºááœáŸááºážáá»ááºáá»á¬ážááŸáá·áº ááŒááºážáááºáá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá á áœááºážáá±á¬ááºáááºááẠ17% á¡áá ááá¯ážááŒáá·áºáá¬áááºá ááá¯á·á¡ááŒááºá á¡ááá¯ááºážá¡áá¬áá»á¬ážááá¯áááááá¯ááºá á±áá±á¬ ááŒááºáá±á¬ááºááŒááºážáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºááá·áºá¡áá«á á¡ááŒáá·áºá¡ááááºáá°áá°ážááŒááºážááᯠááááºáá¬ážááŒá®áž áááºáááºáá»áááºááᯠ12% áá»áŸá±á¬á·áá»áá¬ážáááºá FS ááá¯á á áºáá±ážááá·áºá¡áá« I/O bandwidth ááá¯ááá·áºáááºááẠsysfs ááœáẠáááºáááºáá áºáá¯ááᯠáá±á«ááºážááá·áºáá¬ážáááºá á ááºááá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá¡ááœááºá¡á á¬ážááŒá±á¬ááºážáá²ááŒááºážááŸáá·áº áá»ááºááŒááºážá¡ááœáẠioctl áá±á«áºááá¯ááŸá¯áá»á¬ážááᯠáá±á«ááºážááá·áºáá¬ážáááºá
- XFS ááœáẠááŒááºáááºááŒá¯ááŒááºáá²á·áááºá á¡áá¯ááºáá¯ááºááœáẠááŸááºáá¬ááºá á¬áá»ááºááŸá¬áá»á¬áž ááœá²áá±áá»áá¬ážááŸá¯ááá¯á· ááœáŸá²ááŒá±á¬ááºážáá±ážááá·áº ááŒá¬ážáá¶áááºááŸáºáá áºáá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážá áááºááŸáºáá áœááºážáá±á¬ááºáááºááá¯ááá¯ážáááºá á±áááº;
- F2FS ááẠread-only mode ááœááºá¡áá¯ááºáá¯ááºááẠááœá±ážáá»ááºááœáá·áºáá áºáá¯ááᯠááá·áºááœááºážááŒá®áž áá»áááºážáááºááŒááºážá áœááºážáá±á¬ááºáááºááᯠááŒáŸáá·áºáááºááẠááááááºáá¬ážáá±á¬ áááºááŸáºáá¯áẠ(compress_cache) ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá mmap() áá¯ááºáá±á¬ááºáá»ááºááᯠá¡áá¯á¶ážááŒá¯á áááºááá¯áá®ááá¯á· ááŒá±áá¯á¶ááœá²áá¬ážáá±á¬ ááá¯ááºáá»á¬ážááᯠáá»á¯á¶á·ááŒááºážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á¡á¬áž áá¯ááºáá±á¬ááºáá¬ážáá«áááºá Mask ááŒáá·áº ááá¯ááºáá»á¯á¶á·ááŒááºážááᯠááœá±ážáá»ááºááááºáááºá mount option nocompress á¡áá áºááᯠá¡ááá¯ááŒá¯áá¬ážáá«áááºá
- á¡áá»áá¯á·áá±á¬ áá áºáá»á áºáááºáááºááá¬áá»á¬ážá ááá¯ááŸá±á¬ááºááŸá¯ááŸáá·áº ááá¯ááºáááºáá®ááŸá¯ ááá¯ážáááºá á±ááẠexFAT áááá¯ááºáá¬ááœáẠá¡áá¯ááºááŒá®ážáá«ááŒá®á
- ááá·áºááœááºážáá¬ážáá±á¬ á áá áºáá±á«áºááá¯ááŸá¯ quotactl_fd()á¡áá°ážá ááºááá¯ááºáá áºáá¯ááŸááá¯ááºáá² ááœá²áááºážáá»á¬ážááᯠá á®áá¶ááá·áºááœá²ááœáá·áºááŒá¯ááá·áºá ááœá²áááºážááá¯á¡áá¯á¶ážááŒá¯ááá·áº ááá¯ááºá áá áºááŸáá·áºáááºá ááºáá±áá±á¬ ááá¯ááºáá±á¬áºááŒáá»ááºáá áºáá¯ááᯠáááºááŸááºááŒááºážááŒáá·áºá
- IDE áá»ááºááŸá¬ááŒááºáá«ááŸááá±á¬ ááááºááá¯á·á ááºáá á¹á ááºážáá»á¬ážá¡ááœáẠáááá¯ááºáá¬áá±á¬ááºážáá»á¬ážááᯠkernel ááŸáááºááŸá¬ážáá²á·ááŒá®áž áááºážááá¯á·ááᯠlibata á áá áºááœá²ááŒáá·áº á¡á á¬ážááá¯ážáá²á·áááºááŸá¬ ááŒá¬áá«ááŒá®á á ááºáá á¹á ááºážáá±á¬ááºážáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á¡á¬áž á¡ááŒáá·áºá¡á ááááºážááááºážáá¬ážááŒá®ážá /dev/sd* áᯠáá±á«áºááá·áº drives áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡áá«ááœáẠáááá¯ááºáá¬á¡áá±á¬ááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºá áœááºážááŸáá·áº á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááẠ/dev/hd* ááá¯ááºáá² /dev/sd*á
- /dev/raw á¡ááºáá¬áá±á·á áºááŸáá áºááá·áº á ááºáá á¹á ááºážáá»á¬ážá¡á¬áž ááááºááá¯á·ááŒááºážáááŸááá² áááºáá±á¬ááºááœáá·áºááᯠáá±ážá áœááºážááá·áº âááŒááºážâ áááá¯ááºáá¬ááᯠáá¬áááºá០áááºááŸá¬ážááá¯ááºáá«áááºá á€áá¯ááºáá±á¬ááºáá»ááºááᯠO_DIRECT á¡áá¶ááᯠá¡áá¯á¶ážááŒá¯á á¡ááá®áá±ážááŸááºážáá»á¬ážááœáẠá¡áá»áááºá¡áá±á¬áºááŒá¬ á¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá
- ááŸááºáá¬ááºááŸáá·áº á
áá
áºáááºáá±á¬ááºááŸá¯áá»á¬áž
- á¡áá¯ááºáá»áááºááá¬ážááœá²ááá·áºáá¯ááºá¡áá áºááᯠáá¯ááºáá±á¬ááºááŒá®ážáá«ááŒá®á SCHED_COREáá°áá®áá±á¬ CPU core ááœáẠáááºááá·áº áá¯ááºáááºážá ááºáá»á¬áž á¡áá°ááᜠáá¯ááºáá±á¬ááºááá¯ááºáááºááᯠááááºážáá»á¯ááºááá¯ááºá á±áá«áááºá áá¯ááºáááºážá ááºáá áºáá¯á á®á¡á¬áž áá¯ááºáááºážá ááºáá»á¬ážááŒá¬ážááœáẠáá¯á¶ááŒááºá áááºáá»áááŸá¯á¡ááá¯ááºážá¡áᬠ(á¥ááá¬á áá°áá®áá±á¬á¡áá¯á¶ážááŒá¯áá° ááá¯á·ááá¯áẠááœááºááááºáá¬ááŸáá·áºáááºááá¯ááºáááº) ááᯠáááºááŸááºáá±ážááá·áº cookie identifier áá áºáá¯ááᯠáááºááŸááºáá±ážááá¯ááºáá«áááºá áá¯ááºáá¯ááºáá±á¬ááºááŸá¯ááᯠá á®á ááºááá·áºá¡áá«á á¡á á®á¡á ááºááœá²áá°ááẠáá°áá®áá±á¬ááá¯ááºááŸááºááŸáá·áº áááºá ááºááá·áº áá¯ááºáááºážá ááºáá»á¬ážááŒá¬ážááœááºáᬠCPU core áá áºáá¯ááᯠáá»áŸáá±ááŒá±á¬ááºáž áá±áá»á¬ááá¯ááºáááºá áááºážááẠáá°áá®áá±á¬ SMT (Hyper Threading) áá»ááºáá»áŸááºáá±á«áºááœáẠáá¯á¶ááŒááºá áááºáá»ááá±á¬ááŸáá·áº ááá¯á¶ááŒááºáááá¯ááºáá±á¬ áá¯ááºáá±á¬ááºá áá¬áá»á¬ážááᯠáá¬ážáá®ážááŒááºážááŒáá·áº á¡áá»áá¯á· Spectre ááá¯ááºááá¯ááºááŸá¯áá»á¬ážááᯠááááºááá¯á·áááºá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá ;
- cgroup ááá¹ááá¬ážá¡ááœááºá kill operation á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·ááŒá®ážá áááºážááẠá¡á¯ááºá á¯ááŸáá·áºáááºá ááºáá±áá±á¬ áá¯ááºáááºážá ááºá¡á¬ážáá¯á¶ážááᯠáá áºááŒáá¯ááºáááºáááºáá áºááá¯ááºá á±ááá·áº (SIGKILL áá±ážááá¯á·ááŒááºáž) ááᯠvirtual file 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 loads áá»á¬ážááᯠááá¯ááá¯áá±á¬ááºážááœááºá áœá¬ ááááºážááŸáááá¯ááºá á±áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá cpu.cfs_quota_us ááᯠ50000 ááŸáá·áº cpu.cfs_period_us á០100000 ááá¯á· áááºááŸááºááŒááºážááẠáá¯ááºáááºážá ááºá¡á¯ááºá á¯áá áºá á¯á¡á¬áž 100ms ááá¯ááºážááœáẠCPU á¡áá»ááẠ50ms ááᯠááŒá¯ááºážáá®ážá á±áááºá
- áááºááŒá±á¬áááºá áá¯á¶ááŒááºá áááºáá»ááá±á¬ áá áºáá»á áºáááºáá±á¬á·ááŒáá·áº áááºááŸááºááá¯ážáá¬ážáá±á¬ BPF áááá¯ááááºáá»á¬ážááá¯áᬠáá±á«ááºážáá¯ááºáá¯ááºááœáá·áºááŒá¯ááá·áº BPF áááá¯áááẠloaders áááºáá®ážááŒááºážá¡ááœáẠáááŠážá¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠá
- futex áááºáááºááŸá¯á¡áá ẠFUTEX_LOCK_PI2 ááẠá¡áá»áááºáá¯ááºááœá¬ážááŒááºážááᯠááœááºáá»ááºááẠmonotonic timer ááá¯á¡áá¯á¶ážááŒá¯áᬠá¡áááºá ááºááŒááºážáá¯ááºááœáẠá áá áºááŸá¡áá¯á¶ážááŒá¯ááá·áºá¡áá»áááºááᯠááá·áºááœááºážááœááºáá»ááºáá«áááºá
- RISC-V áááá¯áá¬á¡ááœááºá ááŒá®ážáá¬ážáá±á¬ááŸááºáá¬ááºá á¬áá»ááºááŸá¬áá»á¬áž (Transparent Huge-Pages) á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááŸáá·áº á¡áá¯á¶ážááŒá¯ááá¯ááºá áœááºážá KFENCE Memory ááŒáá·áº á¡áá¯ááºáá¯ááºáá±á¬á¡áá« á¡ááŸá¬ážáá»á¬ážááᯠáá±á¬áºáá¯ááºáááºá
- madvise() system call ááá¯á·á process memory management ááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬áẠáá¶á·ááá¯ážáá±ážáá±á¬á áááºááŒá±á¬áááºá MADV_POPULATE_READ ááŸáá·áº MADV_POPULATE_WRITE á¡áá¶áá»á¬ážááẠáááºááŸá¯ááŒááºáž ááá¯á·ááá¯áẠá á¬áá±ážááŒááºážáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠáá¯á¶áá±á¬áºáá¬ážááá·áº áááºááá¯áá®á á¬áá»ááºááŸá¬áá»á¬ážá¡á¬ážáá¯á¶ážááœáẠ"á á¬áá»ááºááŸá¬á¡ááŸá¬áž" ááᯠáááºáá®ážáááºá á¡ááŸááºááááºáááºááẠááá¯á·ááá¯áẠá á¬áá±ážááŒááºáž (áá°áááºáž) ááᯠááá¯ááºáá±á¬ááºáá²á á¡áá¶áá»á¬ážá¡áá¯á¶ážááŒá¯ááŒááºážááẠáááá¯ááááºááá¯ááºáá±á¬ááºááŸá¯ááœáẠááŸá±á¬áá·áºááŸá±ážááŸá¯áá»á¬ážááᯠáá»áŸá±á¬á·áá»áááºá¡ááœáẠá¡áá¯á¶ážáááºááá¯ááºáááºáá áááºážááá¯á·áᶠá¡ááŸááºááááºáááºáá±á¬ááºááœáá·áºááᯠáá á±á¬áá·áºááá¯ááºážáá² âá á¬áá»ááºááŸá¬á¡ááŸá¬ážâ ááá¯ááºááœááºáá°á âá á¬áá»ááºááŸá¬á¡ááŸá¬ážâ ááᯠáá áºááŒáááºáááºážáá¯ááºáá±á¬ááºááŒááºážááŒá±á¬áá·áºá
- áá°áá áºá ááºážáááºááŸá¯á áá áºááœáẠáá°áá ẠáááºááŒá±á¬áááºá QEMU áááºáááºážáá»ááºááœáẠáá¯ááºáá±á¬ááºáá±ááá·áº á ááºážáááºááŸá¯áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á
- ááŒá±áá¬áá¶á¡áá áºáá»á¬áž áááºááŒáá·áºáá¬ážáááº- "osnoise" á¡ááŸá±á¬áá·áºá¡ááŸáẠááá¯ááºááœááºááŸá¯ááŒá±á¬áá·áº ááŒá áºáá±á«áºáá¬áá±á¬ á¡ááá®áá±ážááŸááºáž ááŸá±á¬áá·áºááŸá±ážááŸá¯áá»á¬ážááᯠááŒá±áá¬áá¶ááẠááŸáá·áº " timerlat " ááŸá±á¬áá·áºááŸá±ážááŸá¯áá»á¬ážá¡ááŒá±á¬ááºáž á¡áá±ážá ááẠá¡áá»ááºá¡áááºááᯠá¡áá»áááºááá¯ááºážáááááá¬á០ááá¯ážááá¬áá±á¬á¡áá«á
- virtualization ááŸáá·áº áá¯á¶ááŒá¯á¶áá±áž-
- áááºááŒá±á¬ááẠá áá áºáá±á«áºááá¯ááŸá¯ memfd_secret()ááá¯ááºááŸááºááŒá áºá ááºááá¯áᬠááŒááºááá¯ááºáááºá á¡ááŒá¬ážáá¯ááºáááºážá ááºáá»á¬ážááœáẠáááºáááºááŒááºážáááŸááá²á kernel á០ááá¯ááºááá¯ááºáááºáá±á¬ááºááááá±á¬ áá®ážááŒá¬ážááááºá á¬áá±áá¬áá áºáá¯ááœáẠáá®ážááá·áºááŸááºáá¬ááºá§áááá¬ááᯠáááºáá®ážááá¯ááºá á±ááá·áºá
- seccomp system call filtering system ááœáẠlock handlers áá»á¬ážááᯠuser space ááá¯á· ááœáŸá±á·ááá·áºá¡áá« áá®ážááŒá¬ážáá¯ááºáá±á¬ááºá áá¬áá áºáá¯á¡ááœáẠfile descriptor áá áºáá¯áááºáá®ážáááºááŸáá·áº system call ááá¯áá¯ááºáá±á¬ááºááá·áºá¡áá« áááºážááᯠááŒááºáá±ážáááºá¡ááœáẠatomic operation áá áºáá¯ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá á¡ááá¯ááŒá¯áá¬ážááá·áº áá¯ááºáá±á¬ááºáá»ááºá ááŒá±ááŸááºážáá±ážáááºá ááŒáᬠá¡áá»ááºááŒááŸá¯áá áºáá¯áá±á¬ááºááŸááá¬áá±á¬á¡áá« á¡áá¯á¶ážááŒá¯áá°áá±áá¬ááŸá ááá¯ááºááœááºáá°á ááŒááºáá±á¬ááºááŸá¯ááŸáá·áºá¡áá°á
- áááºááŒá±á¬ááẠááá¹ááá¬ážá¡áá Ạáá áºáŠážáá»ááºážá á® rlimit counters áá»á¬ážááᯠ"user namespace" ááœáẠá¡áá¯á¶ážááŒá¯áá°áá áºáŠážááŸáá·áº áá»áááºáááºáá±ážáá±á¬ user ID namespace ááœáẠá¡áááºážá¡ááŒá áºááá·áºáááºááŒááºážááᯠá á®áá¶ááá·áºááœá²áááºá á¡áá¯á¶ážááŒá¯áá°áá áºáŠážááẠááá°áá®áá±á¬ ááœááºááááºáá¬áá»á¬ážááœáẠáá¯ááºáááºážá ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááá·áºá¡áá« áá¯á¶á¡áááºážá¡ááŒá áºáá±á¬ááºáá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº ááŒá±á¬ááºážáá²ááŸá¯ááẠááŒá¿áá¬ááᯠááŒá±ááŸááºážáá±ážáá«áááºá
- ARM64 á áá áºáá»á¬ážá¡ááœáẠKVM hypervisor ááẠá§áá·áºáááºá áá áºáá»á¬ážááœáẠMTE (MemTagá Memory Tagging Extension) ááá¯ážáá»á²á·ááŸá¯ááᯠááá·áºááœááºážáá¬ážááŒá®ážá áááºážááẠááŸááºáá¬ááºááœá²áá±ááŸá¯áá¯ááºáá±á¬ááºááŸá¯áá áºáá¯á á®ááœáẠáááºáá»á¬ážááᯠá á¯á ááºážáááºááŸáá·áº á¡ááŒááºáá¯ááºááŒááºážááᯠááááºááá¯á·áááºá¡ááœáẠááœáŸááºááŸááºáá»á¬ážá ááŸááºáááºáá±á¬á¡áá¯á¶ážááŒá¯ááŸá¯ááᯠá á áºáá±ážááẠá á¯á ááºážááœáá·áºááŒá¯áá¬ážáááºá ááœááºááŒá±á¬ááºááŒá®ážáá¬áž áááºááá¯áá®ááá±á¬ááºáá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááŒááºážá ááŒá¬ážáá¶áá»á¬áž ááŒáá·áºáá»áŸá¶ááŒááºážá á áááºááŒááºážáááŒá¯áá® áááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áááºááŸáá¡ááŒá±á¡áá±á¡ááŒááºáááºááœáẠá¡áá¯á¶ážááŒá¯ááŒááºážááŒá±á¬áá·áº ááŒá áºáá±á«áºáá¬áá±á¬ á¡á¬ážáááºážáá»ááºáá»á¬ážá
- ARM64 ááááºáá±á¬ááºážá០áá¶á·ááá¯ážáá±ážáá±á¬ Pointer Authentication ááᯠááᯠkernel ááŸáá·áº user space á¡ááœáẠáá®ážááŒá¬ážá á® áááºááŸááºááá¯ááºáá«ááŒá®á áááºážááá¬ááẠááá·áºá¡á¬áž pointer áá¡áá¯á¶ážáááŒá¯áá±á¬ á¡áááºáá áºáá»á¬ážááœáẠááááºážáááºážáá¬ážááá·áº áá áºáá»á áºáááºáááºááŸááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á ááŒááºááááºá á¬áá»á¬ážááᯠá¡áááºááŒá¯ááẠá¡áá°ážááŒá¯ ARM64 ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááœáá·áºááŒá¯áááºá
- á¡áá¯á¶ážááŒá¯áá°áá¯áẠLinux ááœáẠáááºááŒá±á¬áááºá PCI-over-virtio driver ááŸá¡áá±á¬ááºá¡áááºáá±á¬áºáá±á¬ virtual PCI bus ááŒáá·áº PCI á ááºáá»á¬ážá¡ááœáẠdrivers áá»á¬ážá¡áá¯á¶ážááŒá¯ááŸá¯á¡ááœááºáá¶á·ááá¯ážááŸá¯;
- x86 á áá áºáá»á¬ážá¡ááœááºá ááá·áºá¡á¬áž ATTACHá DETACHá MAP ááŸáá·áº UNMAP áá²á·ááá¯á·áá±á¬ virtio áááºáá°ááá¯á·áá±á¬ááºáá±ážááœáẠATTACHá DETACHá MAP ááŸáá·áº UNMAP áá²á·ááá¯á·áá±á¬ IOMMU áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáá±ážááá¯á·ááá¯ááºá á±ááá·áº virtio-iommu paravirtualized device á¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááºáá±á¬ááºážááá·áºááœááºážáá¬ážáá«áááºá
- Intel CPU áá»á¬ážá¡ááœááºá Skylake áááá¬ážá á¯á០Coffee Lake á¡ááá áááá¯á¡ááºáá±á¬ áááºáá°ááŒá¯ááŒááºážáá»á¬ážááᯠáááºááŸá¬ážááŒááºážááŒáá·áº áááá¯á¡ááºáá±á¬ áááºáá°ááŒá¯ááŒááºážáá»á¬ážááᯠáááºááŸá¬ážááŒááºážááŒáá·áº multi-threaded á¡ááá®áá±ážááŸááºážáá»á¬ážá á áœááºážáá±á¬ááºáááºááᯠááŒáŸáá·áºáááºáá±ážááá·áº Intel TSX (Transactional Synchronization Extensions) ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááᯠáá°áááºážá¡á¬ážááŒáá·áº ááááºáá¬ážáááºá ááá¯ááºááá¯ááºááŸá¯ááŒá áºááá¯ááºááŒá±ááŒá±á¬áá·áº ááá¯ážáá»á²á·ááŸá¯áá»á¬ážááᯠááááºáá¬ážáááºá Zombieload(TAA, TSX Asynchronous Abort) áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá á¡áááºáááŒáẠááŒááºáá±á¬ááºááŒááºážá¡ááœáẠááá¹ááá¬ážá áááºáááºááŸá¯á¡ááœááºáž ááŒá áºáá±á«áºááá·áº ááŒááºáá¡ááœá²á·á¡á ááºáž áá»ááºáááºáá»á¬ážááŸáá áºááá·áº ááááºážá¡áá»ááºá¡ááẠááá¯á ááá·áºááŸá¯ááᯠááŒáá¯ážááá¯ááºááŒááºážá
- ááœááºáááºááœá²á
áá
áº-
- MPTCP (MultiPath TCP) á core ááá¯á· áááºáááºáá±á«ááºážá ááºážááŒááºážááẠááá°áá®áá±á¬ IP ááááºá á¬áá»á¬ážááŸáá·áº áá»áááºáááºáá¬ážáá±á¬ ááá°áá®áá±á¬ IP ááááºá á¬áá»á¬ážááŸáááá·áº áááºážááŒá±á¬ááºážáá»á¬ážá áœá¬áá áºáá»áŸá±á¬áẠTCP áá»áááºáááºááŸá¯ááá¯ááºáá±á¬ááºááŸá¯ááᯠá á®á ááºááẠTCP áá»áááºáááºááŸá¯á áá¯ááºáá±á¬ááºáá»ááºááᯠá á¯á ááºážáááºá¡ááœáẠááá¯ážáá»á²á·ááŸá¯áá áºáá¯ááŒá áºáááºá á¡áá¹áááᬠáááºááŒá±á¬ááẠIPv4 ááŸáá·áº IPv6 (multipath hash policy) á¡ááœáẠááá·áºááá¯ááºááá¯áẠtraffic hashing policy ááᯠáááºááŸááºááá·áº ááá¹ááá¬ážáá áºáᯠ(multipath hash policy) ááẠencapsulated ones áá»á¬ážá¡áá«á¡ááẠpacket áá»á¬ážááŸá áááºááá·áº fields á០áááºážááŒá±á¬ááºážááœá±ážáá»ááºááŸá¯ááᯠáá¯á¶ážááŒááºááá·áº hash ááᯠááœááºáá»ááºáá¬ááœáẠá¡áá¯á¶ážááŒá¯áááºááᯠáá¯á¶ážááŒááºááẠuser space á០ááŒá áºááá¯ááºáá»á±ááŸááááºá á¡áá¯ááºá¡ááœááº;
- socket áá¶á·ááá¯ážááŸá¯á¡á¬áž virtual transport virtio ááœáẠááá·áºááœááºážáá¬ážáá«áááºá SOCK_SEQPACKET (áá±áá¬ááááºáá»á¬ážááᯠá áá áºááá»ááŸáá·áº áá¯á¶ááŒááºá áááºáá»ááá±á¬ áá¯ááºááœáŸáá·áºááŸá¯);
- SO_REUSEPORT socket ááá¹ááá¬ážá á áœááºážáá±á¬ááºáááºáá»á¬ážááᯠáá»á²á·ááœááºáá¬ážááŒá®ážá áááºážááẠáá»áááºáááºááŸá¯áá»á¬ážá áœá¬ááᯠáá»áááºáááºáá¬ážáá±á¬ áá¬áá¬á¡ááºááºáá®áá±ážááŸááºážáá»á¬ážáááºáá®ážááŸá¯ááᯠááá¯ááá¯ááœááºáá°á á±ááá·áº áá»áááºáááºááŸá¯á¡áá»á¬ážá¡ááŒá¬ážááᯠááááºáááºážáá áºáá¯ááá¯á· áá áºááŒáá¯ááºáááºáá»áááºáááºááá¯ááºá á±ááá·áº SO_REUSEPORT áá±á¬á·ááºáá²ááá¯ááºáá±á¬ááºááá¯ááºá áœááºážáá»á¬ážááᯠááá¯ážáá»á²á·áá¬ážáá«áááºá . áá¬ážááŸááºážá¡áá áºááœáẠáááºááŒá±á¬áááºá áááŠážááœá±ážáá»ááºáá¬ážáá±á¬ socket á០áá±á¬ááºážááá¯áá»ááºáá áºáá¯ááᯠáá¯ááºáá±á¬ááºáá¬ááœáẠáá»ááºááœááºááŸá¯ááŸááá«á ááááºážáá»á¯ááºááŸá¯á¡á¬áž á¡ááŒá¬áž socket ááá¯á· ááœáŸá²ááŒá±á¬ááºážááŒááºážá¡ááœáẠááá¯ááá¯ááẠ(áááºáá±á¬ááºááŸá¯áá»á¬áž ááŒááºáááºá áááºááá·áºá¡áá« áá áºáŠážáá»ááºážáá»áááºáááºááŸá¯áá»á¬áž áá¯á¶ážááŸá¯á¶ážááŒááºážááŸáá·áº ááŒá¿áá¬ááᯠááŒá±ááŸááºážáá±ážáááº)á
- áá
á¹á
ááºáž-
- amdgpu driver ááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá âBeige Gobyâ (Navi 6000) ááŸáá·áº âYellow Carpâ áá¯á¡áááºáá±ážáá¬ážáá±á¬ AMD Radeon RX 24 á á®ážáá®áž GPU áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á¡ááŒáẠ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 á¡ááŒá¬áž áá»áŸáá±áá¬ážáá±á¬ááááºá á¬áá±áá¬ááᯠá á¯á ááºážááá¯ááºáááºá
- áááŠážáááºážááá¬áá¶á·ááá¯ážááŸá¯áááºáá±á¬ááºáž AMD Smart Shiftááááºážáá±á¬á·ááŒááºážá áá®áá®ááá¯áááºážááŒááºááŒááºážááŸáá·áº 3D rendering áá¯ááºááá·áºá¡áá« á áœááºážáá±á¬ááºáááºááá¯ááŒáŸáá·áºáááºáááºá áááºááºáá±á¬á·áá»á¬ážáá±á«áºááŸá CPU ááŸáá·áº GPU á áá«áá«áá¯á¶ážá áœá²ááŸá¯ááá¯ááºáᬠááá·áºáááºáá»ááºáá»á¬ážááᯠááá¯ááºážááá áºááŒáá·áº ááŒá±á¬ááºážáá²áá±ážáá«áááºá
- Intel áá®áá®ááá¯áááºáá»á¬ážá¡ááœáẠi915 áááá¯ááºáᬠáá«áááºááẠIntel Alderlake P áá»á áºááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á
- Hyper-V virtual ááááºáá áºá¡áááºáá¬á¡ááœáẠdrm/hyperv áááá¯ááºáá¬ááᯠáááºááá·áºáá¬ážáááºá
- áááºááŒá±á¬ááẠUEFI Firmware ááá¯á·ááá¯áẠBIOS ááŸáá¯ááºáá±ážááá·áº EFI-GOP ááá¯á·ááá¯áẠVESA framebuffer ááá¯á¡áá¯á¶ážááŒá¯ááá·áº simpledrm ááááºáá áºáááá¯ááºáá¬á Driver á á¡ááááááºááœááºáá»ááºááŸá¬ boot áá¯ááºááŒááºážá áááŠážá¡ááá·áºáá»á¬ážá¡ááœááºáž graphical output á áœááºážáááºáá»á¬ážááᯠáá±ážá áœááºážáááºááŒá áºááŒá®áž DRM driver á¡ááŒáá·áºá¡á á¯á¶ááᯠá¡áá¯á¶ážáááŒá¯áá®á áá°á DRM áááá¯ááºáá¬áá»á¬áž áááŸááá±ážáá±á¬ á ááºáá á¹á ááºážáá»á¬ážá¡ááœáẠáá¬áá®ááŒá±ááŸááºážáá»ááºá¡ááŒá áºáááºáž á¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
- áááºááŒá±á¬áááºá all-in-one ááœááºáá»á°áá¬áá¶á·ááá¯ážááŸá¯ Raspberry Pi 400;
- Dell áááºáá±á¬á·ááºáá»á¬ážááœáẠáá«áááºáá±á¬ áááºááá¬ááŸáá·áº ááá¯ááºáááá¯áá¯ááºáž áá¬á·ááºáá²ááá¯ááºáá»á¬ážááᯠáá¶á·ááá¯ážáááºá¡ááœáẠdell-wmi-ááá¯ááºáá±ážááá¯ááºáᬠáááá¯ááºáá¬ááᯠááá·áºááœááºážáá¬ážáááºá
- Lenovo áááºááºáá±á¬á·áá»á¬ážá¡ááœáẠáááºááŒá±á¬ááẠsysfs /sys/class/firmware-attributes/ ááŸáááá·áº BIOS áá±á¬ááºáá»á¬ážááᯠááŒá±á¬ááºážáá²áááºá¡ááœáẠWMI á¡ááºáá¬áá±á·á áº
- áá»á²á·ááœááºáá²á·áááºá USB4 interface ááŸááá±á¬ á ááºáá á¹á ááºážáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á
- áááºááŒá±á¬áááºá á¡áá¶áááºáá»á¬ážááŸáá·áº áá¯ááºáá áºáá»á¬áž AmLogic SM1 TOACODECá Intel AlderLake-Má NXP i.MX8á NXP TFA1á TDF9897á Rockchip RK817á Qualcomm Quinary MI2 ááŸáá·áº Texas Instruments TAS2505á HP ááŸáá·áº ASUS áááºáá±á¬á·ááºáá»á¬ážááœáẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ á¡áá¶áá¶á·ááá¯ážááŸá¯á áááºááŒá±á¬áá«áááºá USB áá»ááºááŸá¬ááŒááºáá«áá±á¬ á ááºáá»á¬ážááœáẠá¡áá¶áááœáá·áºáá® ááŸá±á¬áá·áºááŸá±ážááŸá¯áá»á¬ážááᯠáá»áŸá±á¬á·áá»ááẠáá¬áá±ážááŸá¯áá»á¬ážá
á¡áááºážá¡ááŒá Ạ- opennet.ru.
source: linux.org.ru