เบเบฒเบ™เบ›เปˆเบญเบเปเบเปˆเบ™ Linux 6.9

เบซเบผเบฑเบ‡เบˆเบฒเบเบชเบญเบ‡เป€เบ”เบทเบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, Linus Torvalds เป„เบ”เป‰เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบเบฒเบ™เบ›เปˆเบญเบ Linux 6.9 kernel. เปƒเบ™เบšเบฑเบ™เบ”เบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป‚เบ”เบ”เป€เบ”เบฑเปˆเบ™เบ—เบตเปˆเบชเบธเบ”: เป‚เบกเบ”เบนเบ™ dm-vdo เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ–เบญเบ™เบŠเปเป‰เบฒเบŠเป‰เบญเบ™เปเบฅเบฐเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบšเบฅเบฑเบญเบ, เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบŸเบฅเปŒเป‚เบ”เบเบเบปเบ‡เปƒเบ™ FUSE, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡ pidfds เบชเปเบฒเบฅเบฑเบšเบซเบปเบงเบ‚เปเป‰เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™, เบเบปเบ™เป„เบ BPF token, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš Rust เปƒเบ™ ARM64, เบเบฒเบ™เบ›เบฐเบ•เบดเป€เบชเบ”เบ‚เบญเบ‡ Ext2. เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ, เป€เบญเบปเบฒเป„เบ”เป€เบงเบต NTFS เป€เบเบปเปˆเบฒ, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบปเบ™เป„เบ Intel FRED.

เบฎเบธเปˆเบ™เปƒเบซเบกเปˆเบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚ 15680 เบˆเบฒเบเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ 2106, เบ‚เบฐเบซเบ™เบฒเบ” patch เปเบกเปˆเบ™ 54 MB (เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบš 11825 เป„เบŸเบฅเปŒ, 687954 เป€เบชเบฑเป‰เบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, 225344 เป€เบชเบฑเป‰เบ™เบ–เบทเบเบฅเบถเบš). เบเบฒเบ™เบ›เปˆเบญเบเบซเบผเป‰เบฒเบชเบธเบ”เบกเบต 15641 เบเบฒเบ™เปเบเป‰เป„เบ‚เบˆเบฒเบเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ 2018, เบ‚เบฐเบซเบ™เบฒเบ” patch เปเบกเปˆเบ™ 44 MB. เบ›เบฐเบกเบฒเบ™ 42% เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™ 6.9 เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป„เบ”เป€เบงเบตเบญเบธเบ›เบฐเบเบญเบ™, เบ›เบฐเบกเบฒเบ™ 17% เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบฅเบฐเบซเบฑเบ”เบชเบฐเป€เบžเบฒเบฐเบเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบฎเบฒเบ”เปเบง, 13% เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš stack เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, 7% เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ, เปเบฅเบฐ 4% เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบฅเบฐเบšเบปเบšเบเปˆเบญเบ kernel เบžเบฒเบเปƒเบ™.

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบซเบผเบฑเบเปƒเบ™ kernel 6.9:

  • เบฅเบฐเบšเบปเบšเบเปˆเบญเบเปเบœเปˆเบ™, I/O เปเบฅเบฐเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ
    • เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™ dm-vdo (virtual data optimizer) เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ Device Mapper (DM), เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบธเบ›เบฐเบเบญเบ™ block virtual เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบญเบธเบ›เบฐเบเบญเบ™ block เบ—เบตเปˆเบกเบตเบขเบนเปˆ, เป€เบŠเบดเปˆเบ‡เบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เปเบเบเบ‚เปเป‰เบกเบนเบ™เบŠเป‰เปเบฒเบเบฑเบ™, เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ‚เปเป‰เบกเบนเบ™, เบเบฒเบ™เบฅเบปเบšเบฅเป‰เบฒเบ‡. เบ‚เบญเบ‡เบ•เบฑเบ™เป€เบ›เบปเปˆเบฒเปเบฅเบฐเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบ•เบฑเบ™เป‚เบ”เบเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™ (เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เบšเบฒเบ‡เป†). เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบ•เบฑเบ™เปเบฅเบฐเบšเปเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเปƒเบŠเป‰ (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ dm-vdo, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบŠเป‰เปเบฒเบเบฑเบ™เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบฅเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ–เบทเบเบšเบตเบšเบญเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปƒเบ”เป†). เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ dm-vdo เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเป€เบ–เบดเบ‡ 256TB เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปเบฅเบฐเบเบฒเบ™เบชเป‰เบฒเบ‡เบ›เบฐเบฅเบดเบกเบฒเบ™เบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เป€เบ–เบดเบ‡ 4PB เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰ lvm เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™ vdo partitions. เป€เบ—เบฑเบเป‚เบ™เป‚เบฅเบเบต VDO เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบ Permabit เปเบฅเบฐเป€เบ›เบตเบ”เบ‚เบถเป‰เบ™เบžเบฒเบเบซเบผเบฑเบ‡เบ—เบตเปˆ Red Hat เบŠเบทเป‰เบกเบฒเปƒเบ™เบ›เบต 2017.
    • เปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบ FUSE, เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡ "เบœเปˆเบฒเบ™" เป‚เบซเบกเบ”เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ‚เปเป‰เบกเบนเบ™เป„เบŸเบฅเปŒเป„เบ”เป‰เบฎเบฑเบšเป‚เบ”เบเบเบปเบ‡เปƒเบ™เบฅเบฐเบ”เบฑเบšเปเบเปˆเบ™, เบ‚เป‰เบฒเบกเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ” เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปƒเบ™เบšเบฒเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” FUSE เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เป‚เบซเบกเบ”เบญเปˆเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™เปเบฅเบฐเบˆเปเบฒเบเบฑเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบŸเบฅเปŒเบชเบฒเบกเบฒเบ”เบฎเบฑเบšเปƒเบŠเป‰เป€เบ™เบทเป‰เบญเบซเบฒเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบˆเบฒเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป‚เบญเบ™เบžเบงเบเบกเบฑเบ™เป„เบ›เบชเบนเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™ FUSE.
    • เป„เบ”เป€เบงเบตเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ Ext2 เป„เบ”เป‰เบ–เบทเบเบเป‰เบฒเบเป„เบ›เบขเบนเปˆเปƒเบ™เปเบงเบ”เปเบนเปˆเบ—เบตเปˆเป€เบŠเบปเบฒเปƒเบŠเป‰เปเบฅเป‰เบง. เป€เบซเบ”เบœเบปเบ™เปเบกเปˆเบ™เบเป‰เบญเบ™เบงเปˆเบฒเบ„เบปเบ™เบ‚เบฑเบšเบฎเบญเบ‡เบฎเบฑเบšเบžเบฝเบ‡เปเบ•เปˆ 32-bit inode time counters, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบฅเบปเป‰เบ™เปƒเบ™เบงเบฑเบ™เบ—เบต 19 เบกเบฑเบ‡เบเบญเบ™ 2038. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เป„เบ”เป€เบงเบต ext2, เบกเบฑเบ™เบ–เบทเบเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เปƒเบŠเป‰เป„เบ”เป€เบงเบต ext4, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ Ext2 เปเบฅเบฐเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบชเปˆเบงเบ™เบเบฑเบšเบกเบฑเบ™, เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป€เบงเบฅเบฒเปƒเบ™ ext2 partitions เบ—เบตเปˆเบšเปเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบšเบฑเบ™เบซเบฒ 2038 เบ–เป‰เบฒเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปเบกเปˆเบ™. เบชเป‰เบฒเบ‡เบ”เป‰เบงเบ inode เบ—เบตเปˆเปƒเบซเบเปˆเบเบงเปˆเบฒ 255 bytes (เปƒเบ™ ext2 driver, เบ•เบปเบงเบ™เบฑเบšเป€เบงเบฅเบฒ 32-bit เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ‚เบฐเบซเบ™เบฒเบ” inode).
    • เป„เบ”เป€เบงเบตเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ NTFS เป€เบเบปเปˆเบฒเป„เบ”เป‰เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบ เปเบฅเบฐเบ–เบทเบเบ›เปˆเบฝเบ™เปเบ—เบ™เบ”เป‰เบงเบเป„เบ”เป€เบงเบต NTFS5.15 เปƒเปเปˆเบ•เบฑเป‰เบ‡เปเบ•เปˆเบฅเบธเป‰เบ™ 3. เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เบชเบญเบ‡เป„เบ”เป€เบงเบตเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” NTFS เปƒเบ™ kernel เปเบกเปˆเบ™เบ–เบทเบงเปˆเบฒเบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก, เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเป„เบ”เป€เบงเบตเป€เบเบปเปˆเบฒเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบซเบฅเบฒเบเบ›เบต, เบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเบ—เบตเปˆเบซเบ™เป‰เบฒเป€เบชเบปเป‰เบฒเปƒเบˆเปเบฅเบฐเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เป‚เบซเบกเบ”เบญเปˆเบฒเบ™.
    • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบœเบ™เบ—เบตเปˆ ID เบœเบนเป‰เปƒเบŠเป‰เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ zonefs เปเบฅเบฐ hugetlbfs, เบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบˆเบฑเบšเบ„เบนเปˆเป„เบŸเบฅเปŒเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบชเบฐเป€เบžเบฒเบฐเปƒเบ™เบžเบฒเบ—เบดเบŠเบฑเบ™เบ•เปˆเบฒเบ‡เบ›เบฐเป€เบ—เบ”เบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบญเบทเปˆเบ™เปƒเบ™เบฅเบฐเบšเบปเบšเบ›เบฐเบˆเบธเบšเบฑเบ™.
    • NFSv4 เปƒเบซเป‰เบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบฅเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบ›เบตเบ”เปเบฅเบฐเบ–เบทเบเบฅเบฑเบญเบ.
    • เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ Ext4, เบžเบฝเบ‡เปเบ•เปˆเปเบเป‰เป„เบ‚ bug เปเบฅเบฐเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš kunit เป„เบ”เป‰เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰.
    • Btrfs เบชเบทเบšเบ•เปเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเบ›เปˆเบฝเบ™เป„เบ›เปƒเบŠเป‰ folios เบ‚เบญเบ‡เบซเบ™เป‰เบฒ.
    • เปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ XFS, เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ fsck utility เป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบšเปเบฅเบฐเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”เบญเบญเบ™เป„เบฅเบ™เปŒ, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ unmounting เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ.
    • เป€เบžเบตเปˆเบกเบ—เบธเบ‡ RWF_NOAPPEND เปƒเบชเปˆเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš pwritev2(), เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบเบฒเบ™เบŠเบปเบ”เป€เบŠเบตเบเบเบฒเบ™เบ‚เบฝเบ™เป„เบ”เป‰เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเป„เบŸเบฅเปŒเบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เบขเบนเปˆเปƒเบ™เป‚เปเบ”เบ•เปเปˆเป€เบ•เบตเบกเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.
    • เบ„เปเบฒเบชเบฑเปˆเบ‡ ioctl เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก: FS_IOC_GETUUID - เบชเบปเปˆเบ‡เบ„เบทเบ™เบ•เบปเบงเบฅเบฐเบšเบธ UUID เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰, เปเบฅเบฐ FS_IOC_GETFSSYSFSPATH - เบเปเบฒเบ™เบปเบ”เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเปƒเบ™ /sys/fs เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบ•เบฑเป‰เบ‡เป„เบงเป‰.
    • เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ efs, qnx4 เปเบฅเบฐ coda เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เป„เบ›เปƒเบŠเป‰ API เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบžเบฒเบ—เบดเบŠเบฑเบ™เปƒเปเปˆ.
    • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบšเปเปˆเบญเปˆเบญเบ™เป„เบซเบง. เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป‚เบ”เบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ—เบตเปˆเบฅเบฐเบญเบฝเบ”เบญเปˆเบญเบ™เบ•เบปเบงเบžเบดเบกเบ™เป‰เบญเบเบเปˆเบญเบ™ เปเบฅเบฐ เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบ—เบตเปˆเบšเปเปˆเบกเบตเบ•เบปเบงเบžเบดเบกเบ™เป‰เบญเบเปƒเบซเบเปˆ. เบšเบฑเบ™เบซเบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบŠเป‰เบญเบ™เบ—เบฑเบšเป€เบ—เบดเบ‡เป„เบ”เป€เบฃเบฑเบเบ—เปเบฃเบตเบ—เบตเปˆเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™เบเปเบฅเบฐเบ™เบตเบšเปเปˆเบญเปˆเบญเบ™เป„เบซเบงเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปเบฅเป‰เบง.
  • เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบฅเบฐเบšเบปเบš
    • เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบปเบ™เป„เบ Intel FRED (Flexible Return and Event Delivery), เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ•เบดเบžเบฒเบšเปเบฅเบฐเบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป€เบซเบ”เบเบฒเบ™เบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒ, เป€เบกเบทเปˆเบญเบ—เบฝเบšเบเบฑเบšเบเบปเบ™เป„เบ IDT (Interrupt Descriptor Table). เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš เปเบฅเบฐ เบซเบผเบธเบ”เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเป‚เบ”เบเบเบฒเบ™เบชเบปเปˆเบ‡เบ„เบทเบ™เป€เบซเบ”เบเบฒเบ™เบœเปˆเบฒเบ™เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต IRET เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบ–เปˆเบฒเบเบ—เบญเบ”เป€เบซเบ”เบเบฒเบ™เบœเปˆเบฒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ IDT. เบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบ—เบตเปˆเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เปเบกเปˆเบ™เบšเบฑเบ™เบฅเบธเป„เบ”เป‰เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เบกเบฒเบฎเบญเบ”เบ‚เบญเบ‡เป€เบซเบ”เบเบฒเบ™เปƒเบ™ kernel เปเบฅเบฐเบชเบฐเบžเบฒเบšเบเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰, เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” NMI เบ—เบตเปˆเบงเบฒเบ‡เป„เบงเป‰, เปเบฅเบฐเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™ CPU เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบเบญเบš stack เบ‚เบฐเบซเบเบฒเบ.
    • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡ CPU cores เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Named Address Spaces เปƒเบ™เบฅเบฐเบซเบฑเบ” kernel, เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ GCC เปƒเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ GNU C.
    • เบ—เบธเบ‡ PIDFD_THREAD เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™ pidfd_open(), เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบชเป‰เบฒเบ‡ pidfds เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบซเบปเบงเบ‚เปเป‰, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบžเบฝเบ‡เปเบ•เปˆเปƒเบŠเป‰ pidfd เปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เบ‚เบญเบ‡เบซเบปเบงเบซเบ™เป‰เบฒเบเบธเปˆเบกเบซเบปเบงเบ‚เปเป‰. เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ” pseudo-FS เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ pidfd เบœเปˆเบฒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ virtual เปเบกเปˆเบ™เบเบฑเบ‡เบชเบฐเป€เบซเบ™เบต. เบšเปเปˆเบ„เบทเบเบฑเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป‚เบ”เบเปƒเบŠเป‰ pid, pidfd เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเบฐเป€เบžเบฒเบฐเปเบฅเบฐเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ PID เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบญเบทเปˆเบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡.
    • เบเบปเบ™เป„เบ BPF token เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบ BPF, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเบชเบดเบ”เปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ BPF เบ—เบตเปˆเบกเบตเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เปƒเบซเป‰เบเบฑเบšเบšเบฑเบ™เบ”เบฒเป‚เบ„เบ‡เบเบฒเบ™;
    • เบ›เบฐเป€เบžเบ”เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเปƒเบŠเป‰เบฎเปˆเบงเบกเบเบฑเบ™เปƒเบซเบกเปˆ, bpf_arena, เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบ BPF, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ”เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เปเบšเปˆเบ‡เบ›เบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป‚เบ›เบผเปเบเบผเบก BPF เปเบฅเบฐเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ•เปˆเบฒเบ‡เป†เปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ may_goto เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ loops เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เป‚เบ”เบเบ•เบปเบงเบเบงเบ”เบชเบญเบš. เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบ„เบธเบเบเบต TCP SYN เบ—เบตเปˆเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”เบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™ BPF เปเบฅเบฐเบชเป‰เบฒเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™ BPF เป€เบžเบทเปˆเบญเบ•เป‰เบฒเบ™เป„เบžเบ™เปเป‰เบฒเบ–เป‰เบงเบก SYN.
    • เบชเบทเบšเบ•เปเปˆเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบˆเบฒเบเบชเบฒเบ‚เบฒ Rust-for-Linux เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบžเบฒเบชเบฒ Rust เป€เบ›เบฑเบ™เบžเบฒเบชเบฒเบ—เบตเบชเบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป€เบงเบตเปเบฅเบฐเป‚เบกเบ”เบนเบ™ kernel (เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Rust เปเบกเปˆเบ™เบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบฅเบงเบกเป€เบญเบปเบฒ Rust เปƒเบ™เบšเบฑเบ™เบ”เบฒ. เบเบฒเบ™โ€‹เบ‚เบถเป‰เบ™โ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบ—เบตเปˆโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบš kernelโ€‹)โ€‹. เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เปƒเบŠเป‰เบžเบฒเบชเบฒ Rust เป€เบกเบทเปˆเบญเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เป‚เบ›เป€เบŠเบ”เป€เบŠเบต ARM 64-bit. เบเบฒเบ™เบซเบฑเบ™เป„เบ›เบชเบนเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ›เปˆเบญเบ Rust 1.76 เป„เบ”เป‰เบ–เบทเบเบ”เปเบฒเป€เบ™เบตเบ™. เป€เบžเบตเปˆเบก 'container_of!' เปเบฅเป‰เบง. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบŸเบฑเบ‡เบŠเบฑเบ™ 'ptr_metadata' เบ—เบตเปˆเบšเปเปˆเบชเบฐเบ–เบฝเบ™, เบงเบดเบ—เบตเบเบฒเบ™ 'byte_sub' เบ„เบปเบ‡เบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เป€เบžเบตเปˆเบกเป‚เบกเบ”เบนเบ™ 'เป€เบงเบฅเบฒ' เบ”เป‰เบงเบเบŸเบฑเบ‡เบŠเบฑเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบงเบฅเบฒ 'msecs_to_jiffies()'.
    • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ•เบฑเบ”เป„เบŸเบฅเปŒ (ftruncate_file) เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบ io_uring.
    • เป€เบžเบตเปˆเบกเบ›เบฐเป€เบžเบ”เปƒเปเปˆเบ‚เบญเบ‡เบ„เบดเบงเบงเบฝเบ WQ_BH (workqueue Bottom Halves) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ” asynchronous เปƒเบ™เบšเปเบฅเบดเบšเบปเบ”เบ‚เบญเบ‡เบŠเบญเบšเปเบงเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡, เปเบ™เปƒเบชเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบงเบฝเบเบ—เบตเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบก.
    • เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ‚เบญเบ‡เบ•เบปเบงเบˆเบฑเบšเป€เบงเบฅเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบญเบญเบเปเบšเบšเปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ, เป€เบŠเบดเปˆเบ‡เป€เบซเบ”เบœเบปเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฅเบทเบญเบเบซเบผเบฑเบ CPU เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบˆเบฑเบšเป€เบงเบฅเบฒเบ—เบตเปˆเบ–เบทเบเบเบฐเบ•เบธเป‰เบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡, เป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰เบ›เบธเบเปเบเบ™เบ—เบตเปˆเบšเปเปˆเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบˆเบฒเบเป‚เบซเบกเบ”เบ™เบญเบ™.
    • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบซเบผเบฑเบ (EM, เบฎเบนเบšเปเบšเบšเบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™) เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡เบญเบธเบ™เบซเบฐเบžเบนเบกเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ•เปเปˆเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบ‚เบญเบ‡ CPU. เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™ em_cpu_energy() เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ, เป€เบŠเบดเปˆเบ‡เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เป„เบงเบ‚เบถเป‰เบ™ 1.43 เป€เบ—เบปเปˆเบฒเปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบ™เบฅเบฐเบšเบปเบšเบชเบฐเบ–เบฒเบ™เบต, เปเบฅเบฐ 4 เป€เบ—เบปเปˆเบฒเปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบ™เบเบฐเบ”เบฒเบ™ RockPi 1.69B.
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบฅเบฐเบšเบปเบšเปเบฅเปˆเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณ ARM64 เปƒเบ™เป‚เปเบ” LPA2 เบ”เป‰เบงเบเบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆเบชเบฐเป€เปเบทเบญเบ™ 52-เบšเบดเบ”.
    • เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš ARM64, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบเบฒเบ™ PTE เบ•เบดเบ”เบ•เปเปˆเบเบฑเบ™ (Page Table Entry) เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ TLB (Translation Lookaside Buffer).
    • Patches เป„เบ”เป‰เบ–เบทเบเบฎเบฑเบšเบฎเบญเบ‡เป€เบญเบปเบฒเป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป‚เบ”เบเบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡ locks เบžเป‰เบญเบกเบเบฑเบ™เปƒเบ™ vmalloc().
    • เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ LoongArch, เบเบปเบ™เป„เบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ patching kernel เบฎเป‰เบญเบ™ (เบเบฒเบ™ patching เบชเบปเบ”) เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ patches เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบเบฑเบš kernel เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ rebooting.
    • เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš RISC-V, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบญเบตเป‰เบ™เบฅเบฐเบšเบปเบš membarrier(), เป€เบŠเบดเปˆเบ‡เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบญเบธเบ›เบฐเบชเบฑเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบชเปเบฒเบฅเบฑเบšเบเบฐเบ—เบนเป‰เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš.
    • เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ LLVM/Clang เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ kernel เป„เบ”เป‰เบ–เบทเบเบเบปเบเบ‚เบถเป‰เบ™เบกเบฒ. เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ LLVM 13.0.1 เบ›เปˆเบญเบ (เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปƒเบ™ LLVM 11+).
    • เบเบปเบ™เป„เบ "เป€เบซเบ”เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบœเบนเป‰เปƒเบŠเป‰", เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เป€เบซเบ”เบเบฒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบˆเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰, เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบญเบญเบเบ‚เปเป‰เบกเบนเบ™เป€เบซเบ”เบเบฒเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบ•เปˆเบฒเบ‡เป† (USER_EVENT_REG_MULTI_FORMAT).
    • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบญเบฒเบเบดเบงเป€เบกเบฑเบ™เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเป€เบกเบทเปˆเบญเบเบฒเบ™เบญเบญเบเบŸเบฑเบ‡เบŠเบฑเบ™ tracing เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบปเบ™เป„เบเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เป‚เบ—เบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™. เบ„เปˆเบฒเบ‚เบญเบ‡เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ—เบตเปˆเบเบฑเบšเบ„เบทเบ™เบกเบฒเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบˆเบฑเบšเบ„เบนเปˆเบเบฑเบšเบญเบฒเบเบดเบงเป€เบกเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เป€เบญเบตเป‰เบ™เบŸเบฑเบ‡เบŠเบฑเบ™.
    • perf utility เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš "cluster" เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบœเบปเบ™เบœเบฐเบฅเบดเบ” ("perf stat -a โ€”per-cluster") เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบกเบชเบฐเบ–เบดเบ•เบดเบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเปƒเบŠเป‰เบฎเปˆเบงเบกเบเบฑเบ™. เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” libcapstone เป€เบžเบทเปˆเบญ disassemble เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต ("perf script -F disasm") เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เบ”เบตเบ—เบตเปˆเบชเบธเบ”เป€เบกเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบฅเบฒเบเบ‡เบฒเบ™ perf' เปเบฅเบฐ 'perf annotate' เบ„เปเบฒเบชเบฑเปˆเบ‡.
  • Virtualization เปเบฅเบฐเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบ•เปเปˆเบเบฑเบšเบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ‚เบญเบ‡ RFDS (Register File Data Sampling) เปƒเบ™เป‚เบ›เป€เบŠเบ”เป€เบŠเบต Intel Atom, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบฐเบเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเบˆเบฒเบเป„เบŸเบฅเปŒเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™ (RF, Register File) เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบฎเปˆเบงเบกเบเบฑเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบ—เบฐเบšเบฝเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”. เบงเบฝเบเบ‡เบฒเบ™เปƒเบ™เบซเบผเบฑเบ CPU เบ”เบฝเบงเบเบฑเบ™. เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ microcode เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ VERW เป€เบžเบทเปˆเบญเบฅเบถเบšเบฅเป‰เบฒเบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡ microarchitectural buffers เป€เบกเบทเปˆเบญเบเบฑเบšเบ„เบทเบ™เบˆเบฒเบ kernel เป„เบ›เบซเบฒเบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰. เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเป‚เบซเบฅเบ”เปเบเปˆเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบ—เบธเบ‡ โ€œreg_file_data_sampling=onโ€ เป„เบ”เป‰. เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบŠเปˆเบญเบ‡โ€‹เป‚เบซเบงเปˆโ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบกเบตโ€‹เบ‚เบญเบ‡ microcode เบ—เบตเปˆโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบปเบโ€‹เบ›เบฑเบโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เป€เบกเบตเบ™โ€‹เปƒเบ™โ€‹เป„เบŸเบฅโ€‹เปŒ โ€œ/sys/devices/system/cpu/vulnerabilities/reg_file_data_samplingโ€.
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเปœเบฑเบšเบชเบฐเปœเบนเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเบณเบฅเบฑเบšเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบฅเบฐเบšเบปเบšเปเบ‚เบเป‚เบ”เบเปƒเบŠเป‰เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ AMD SEV-SNP (Secure Nested Paging), เป€เบŠเบดเปˆเบ‡เปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบ›เบญเบ”เป„เบžเบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปœเป‰เบฒเปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณเบ—เบตเปˆเบŠเป‰เบญเบ™เบเบฑเบ™ เปเบฅเบฐ เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เป‚เบˆเบกเบ•เบต "undeSErVed" เปเบฅเบฐ "SEVerity" เปƒเบ™เป‚เบ›เป€เบŠเบ”เป€เบŠเบต AMD EPYC, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ‚เป‰เบฒเบกเบเบปเบ™เป„เบเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ AMD SEV (Secure Encrypted Virtualization). KVM เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเปƒเบŠเป‰ SNPs เปเบกเปˆเบ™เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบชเบฒเบ‚เบฒ 6.10.
    • เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต IMA (Integrity Measurement Architecture) เปเบฅเบฐ EVM (Extended Verification Module) เป„เบ”เป‰เบ–เบทเบเป‚เบญเบ™เป„เบ›เปƒเบชเปˆเบเบญเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ LSM (Linux Security Modules), เป€เบŠเบดเปˆเบ‡เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบนเบ™เป€เบชเบเบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เป„เบ”เป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบฅเบฐเบซเบฑเบ”เบ‡เปˆเบฒเบเบ”เบฒเบเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ, เบชเบปเบกเบ—เบปเบšเบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบŠเป‰เปเบฒเบเบฑเบ™เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆเป‚เบ”เบเบœเปˆเบฒเบ™ LSM. เป‚เบกเบ”เบนเบ™ IMA เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบ”เบเปƒเบŠเป‰เบฅเบฒเบเป€เบŠเบฑเบ™เบ”เบดเบˆเบดเบ•เบญเบ™ เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบ. เป‚เบกเบ”เบนเบ™ EVM เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบปเบเบ›เป‰เบญเบ‡เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ‚เบฐเบซเบเบฒเบ (xattrs) เบˆเบฒเบเบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ—เบตเปˆเปเบ™เปƒเบชเปˆเบเบฒเบ™เบฅเบฐเป€เบกเบตเบ”เบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบกเบฑเบ™ (EVM เบˆเบฐเบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบตเบเบฒเบ™เป‚เบˆเบกเบ•เบตเปเบšเบšเบญเบญเบšเป„เบฅเบ™เปŒ เป€เบŠเบดเปˆเบ‡เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เป€เบกเบ•เบฒเป€เบ”เบ•เบฒเป„เบ”เป‰, เบ•เบปเบงเบขเปˆเบฒเบ‡, เป‚เบ”เบเบเบฒเบ™เบšเบนเบ”เบˆเบฒเบเป„เบ”เบฃเบŸเปŒเบ‚เบญเบ‡เบฅเบฒเบง).
    • lsm_list_modules(), lsm_get_self_attr() เปเบฅเบฐ lsm_set_self_attr() เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš, เบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบฅเบฒเบเบเบฒเบ™เบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™ LSM เบ—เบตเปˆเป‚เบซเบฅเบ” (Linux Security Modules) เปเบฅเบฐเบฎเบฑเบš/เบ•เบฑเป‰เบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เป‚เบกเบ”เบนเบ™ LSM, เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบญเบญเบเปเบšเบšเปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเปƒเบซเป‰เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบซเบผเบฒเบเบ‚เบถเป‰เบ™เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก 32-bit. เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เบ—เปเบฒเบฅเบฒเบเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เปƒเบ™เบ”เป‰เบฒเบ™เบซเบฅเบฑเบ‡, เปเบ•เปˆเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเปเบเปˆเบ™เบชเบธเบ”เบ—เป‰เบฒเบเปเบฅเบฐเบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, Linus Torvalds เบ–เบทเบงเปˆเบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบเบญเบกเบฎเบฑเบšเป„เบ”เป‰.
    • เป„เบ”เป‰เบกเบตเบเบฒเบ™เบžเบฐเบเบฒเบเบฒเบกเบชเบทเบšเบ•เปเปˆเบ™เบณเปƒเบŠเป‰เบเบปเบ™เป„เบเบเบฒเบ™เบญเบฐเบ™เบฒเป„เบกเบžเบถเบ”เบ•เบดเบเบณ UBSAN (Undefined Behavior Sanitizer). เบˆเบธเบ”เบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบงเปˆเบฒ compilers เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบš integer overflows เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ” signed เปเบฅเบฐ unsigned เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. Signed and pointer overflows is classified as undefined behavior, while unsigned overflows are truncated modulo 2n, retaining only the low-order bits of the results ("wrap-around") เปเบฅเบฐเบšเปเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”. เป€เบžเบทเปˆเบญเบฅเบปเบšเบฅเป‰เบฒเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™, kernel เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบ”เป‰เบงเบเบ•เบปเบงเป€เบฅเบทเบญเบ "-fno-strict-overflow", เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰ "wrap-around" เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ overflows เบˆเปเบฒเบ™เบงเบ™เป€เบ•เบฑเบกเบ—เบฑเบ‡เบซเบกเบปเบ”. GCC เปเบฅเบฐ Clang เบšเปเปˆเบชเบฒเบกเบฒเบ”เบงเบดเบ™เบดเบ”เป„เบชเบšเบฒเบ‡เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰เบ—เบธเบ‡ -fno-strict-overflow, เปเบฅเบฐเบเบฒเบ™เบฅเบงเบกเป€เบญเบปเบฒ UBSAN เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ„เบญเบกเบžเบตเบงเป€เบ•เบตเป€เบžเบทเปˆเบญเบเปเบฒเบˆเบฑเบ”เบœเบปเบ™เบšเบงเบเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเบฐเบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™ integer overflows เปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™.

      เป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบšเบเบฒเบ™เป„เบซเบผเป€เบเบตเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, kernel เปƒเบŠเป‰เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เป€เบŠเบฑเปˆเบ™ "var + offset <var" (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™ "เบ–เป‰เบฒ (pgoff + (size > PAGE_SHIFT) < pgoff){..}"), เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบœเบนเบเบกเบฑเบ”เบเบฑเบšเบŠเบธเบ”เบ›เบฐเบเบญเบš ". -fno-strict" flag -overflow" เปเบฅเบฐเบšเปเปˆเบเบงเบกเป€เบญเบปเบฒเบฅเบฐเบซเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบญเบฒเบ”เบˆเบฐ overflow. เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบงเปˆเบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ UBSAN, เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ, เปเบฅเบฐเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ™เบตเป‰, UBSAN เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เปƒเบ™. 2021. เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบฐเบšเบฑเบšเบ›เบฑเบšเบ›เบธเบ‡เปเบ™เบฐเบ™เบณเปƒเบซเป‰เปƒเบŠเป‰เบ„เบณเบญเบฐเบ—เบดเบšเบฒเบเบ›เบฐเบเบญเบšเบžเบดเป€เบชเบ” __signed_wrap เปเบฅเบฐ __unsigned_wrap, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš macros เบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบ”เป‰เบงเบ checks add_would_overflow(a, b) เปเบฅเบฐ add_wrap(a, b) เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบเบเบเบฒเบ™เปƒเบŠเป‰ integer overflows เป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ. เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡ overflows random เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบŠเปˆเบญเบ‡เป‚เบซเบงเปˆ เบเบฒเบ™เบชเบฐเป€เบซเบ™เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ rework เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡เบ‚เบญเบ‡ kernel เบเบฑเบšเป‚เบ”เบเบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบ›เบฐเป€เบžเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเป€เบชเบ”เป‚เบ”เบ Linus Torvalds.

  • เบฅเบฐเบšเบปเบšเบเปˆเบญเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ
    • เปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡ locks เบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™ ("เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบเบฑเบ™ lock", เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบš lock เบ—เบตเปˆเบ–เบทเป‚เบ”เบเบเบฐเบ—เบนเป‰เบญเบทเปˆเบ™). เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เปƒเบŠเป‰เบฅเบฑเบญเบ RTNL.
    • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบปเบ‡เบ„เบฐเปเบ™เบ™ socket เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ— epoll เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™. เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบชเบฐเบ™เบธเบเป€เบเบตเปเบฅเบฐเบ‡เบปเบšเบ›เบฐเบกเบฒเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบˆเบฒเบเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš.
    • เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ„เบ‡เบชเป‰เบฒเบ‡ net_hotdata เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”.
    • MPTCP เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ TCP_NOTSENT_LOWAT เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเปเบฒเบฅเบฑเบš sockets, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเปเบฒเบเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡ buffer เบชเบปเปˆเบ‡. API เบชเปเบฒเบฅเบฑเบšเบŠเบฑเบญเบเป€เบเบฑเบ” MCTP เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš ID เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เป€เบ„เบทเบญเบ‚เปˆเบฒเบ MCTP เบ—เบตเปˆเบšเปเปˆเบŠเป‰เปเบฒเบเบฑเบ™เบซเบผเบฒเบเปƒเบ™เบซเบ™เบถเปˆเบ‡เป‚เบฎเบ”.
    • IPSec เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ ICMP เบ‚เปเป‰เบ„เบงเบฒเบกเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ” (RFC 4301).
    • เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเบฐเปเบเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบซเบกเบปเบ”เบญเบฒเบเบธเป„เบ”เป‰เบ–เบทเบเป€เบฅเบฑเปˆเบ‡.
    • เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš XDP เป‚เบ”เบเบเบฒเบ™เบซเบผเบตเบเบฅเปˆเบฝเบ‡เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณเบ‚เบฐเปœเบฒเบ”เปƒเบซเบเปˆ.
    • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปเบ™เบš metadata เบเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบก netconsole.
    • Netfilter เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบเปเบฒเบ™เบปเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบˆเบฒเบเบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบœเบนเบเบกเบฑเบ”เบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบžเบทเป‰เบ™เบซเบฅเบฑเบ‡เปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบถเบšเบ–เบดเป‰เบกเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป€เบกเบทเปˆเบญเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡.
    • เปƒเบ™ nftables, เบเบฒเบ™เป€เบžเบตเปˆเบกเบญเบปเบ‡เบ›เบฐเบเบญเบšเป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบŠเบธเบ”เบ—เบตเปˆเบกเบตเป„เบฅเบเบฐเบฅเบงเบกเป„เบ”เป‰เบ–เบทเบเป€เบฅเบฑเปˆเบ‡.
  • เบญเบธเบ›เบฐเบเบญเบ™
    • เปƒเบ™เป„เบ”เป€เบงเบต i915, เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบŠเบดเบš Intel LunarLake (Xe 2). เบ•เบปเบงเบฅเบฐเบšเบธ PCI เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบŠเบดเบš Intel Arrow Lake เปเบฅเบฐ Alder Lake N เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ DP tunneling เปเบฅเบฐเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เปเบšเบ™เบงเบดเบ”เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเบชเปเบฒเบฅเบฑเบš Displayport. เป‚เบซเบกเบ” Fastboot เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก. เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ debugging output เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™.
    • เป„เบ”เป€เบงเบต AMDGPU เป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบกเป€เบžเบทเปˆเบญเบฎเบญเบ‡เบฎเบฑเบš AMD RDNA3.5 เปเบฅเบฐ RDNA4 GPUs. เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš ATHUB 4.1, LSDMA 7.0, JPEG DPG, IH 7.0, HDP 7.0, VCN 5.0, SMU 13.0.6, NBIO 7.11, SDMA 6.1, MMHUB 3.3, DCN 3.5.1, NBIF6.3.1 เปเบฅเบฐ เบเบญเบš RAS ACA. เบžเบฒเบฃเบฒเบกเบดเป€เบ•เบต freesync_video เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเป‚เบกเบ”เบนเบ™ kernel เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบชเบฐเบซเบผเบฑเบšเบฎเบนเบšเปเบšเบšเบงเบดเบ”เบตเป‚เบญเป‚เบ”เบเปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเบเบฒเบ™เบ›เบฑเบšเบ•เบปเบง synchronization FreeSync.
    • เปƒเบ™เป„เบ”เป€เบงเบต Nouveau, เบฅเบฐเบซเบฑเบ”เบ„เบงเบšเบ„เบธเบกเบซเบ™เป‰เบฒเบˆเปเป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เป„เบ›เปƒเบŠเป‰เบŸเบฑเบ‡เบŠเบฑเบ™ kmemdup().
    • เบชเบทเบšเบ•เปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเปˆเบฝเบงเบเบฑเบšเป„เบ”เป€เบงเบต Xe drm (Direct Rendering Manager) เบชเปเบฒเบฅเบฑเบš GPUs เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ Intel Xe, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบšเบฑเบ”เบงเบตเบ”เบตเป‚เบญเบ„เบญเบšเบ„เบปเบง Intel Arc เปเบฅเบฐเบฎเบนเบšเบžเบฒเบšเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™, เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเป‚เบ›เป€เบŠเบ”เป€เบŠเบต Tiger Lake.
    • เป€เบžเบตเปˆเบกเป„เบ”เป€เบงเบต DRM เบชเปเบฒเบฅเบฑเบšเบŠเบดเบš Mediatek MT8188 VDOSYS1.
    • เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Kernel เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบฅเบฐเบšเบปเบšเบเปˆเบญเบเบงเบดเบ”เบตเป‚เบญเป„เบ”เป‰เบ–เบทเบเบเป‰เบฒเบเป„เบ›เบ—เบตเปˆเบžเบฒเบเบชเปˆเบงเบ™ CONFIG_VIDEO.
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš ARM64 SoC: Mediatek MT7981B (Filogic 820), MT7988A (Filogic 880), NXP i.MX8DXP, Renesas R8A779G2 (R-Car V4H ES2.0), R8A779H0 (R-Car V4M),
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบชเบณเบฅเบฑเบšเบเบฐเบ”เบฒเบ™ เปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™ ARM: เป‚เบ—เบฅเบฐเบชเบฑเบš Android เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบŠเบดเบš Tegra30, เบฎเบธเปˆเบ™ Chromebook เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Mediatek MT8186, NAS, เปเบ—เบฑเบšเป€เบฅเบฑเบ” เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบซเบผเบดเป‰เบ™เป€เบเบกเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Rockchips RK35xx, White Hawk boards เบญเบตเบ‡เปƒเบชเปˆ Renesas SoC, เบเบฐเบ”เบฒเบ™เบญเบตเบ‡เปƒเบชเปˆ Qualcomm SM8550 (Snapdragon 8 Gen 2), เบเบฐเบ”เบฒเบ™เบ›เบฐเป€เบกเบตเบ™ Apalis, Sielaff i.MX6 Solo Board, Samsung Galaxy Tab 4 10.1 LTE.
    • เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบเปˆเบญเบโ€‹เบ‚เบญเบ‡โ€‹เบชเบฝเบ‡ ALSA เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™ reactoredโ€‹. เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบฅเบฐเบšเบปเบšเบชเบฝเบ‡ Microchip SAM9x7, NXP i.MX95 เปเบฅเบฐ Qualcomm WCD939x. เป„เบ”เป€เบงเบต SoundWire เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ ASoC เบเบฑเบš AMD ACP 6.3 audio coprocessors, เปเบฅเบฐเป‚เบซเบกเบ” DSPless เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš Intel. เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเปเบ›เบ‡เบชเบฑเบ™เบเบฒเบ™เบชเบฝเบ‡ Cirrus HD เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เป„เบ”เป€เบงเบต virtio เป„เบ”เป‰เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบชเบฝเบ‡.
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš Marvell Octeon PCI Endpoint NIC VF เปเบฅเบฐ Intel E825-C 100G Ethernet controllers.

เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, เบกเบนเบ™เบ™เบดเบ—เบดเบŠเบญเบšเปเบงเบŸเบฃเบตเบ‚เบญเบ‡เบญเบฒเป€เบกเบฅเบดเบเบฒเบฅเบฒเบ•เบดเบ™เป„เบ”เป‰เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ kernel 6.9 เบŸเบฃเบตเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™ - Linux-libre 6.9-gnu, เบฅเป‰เบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เป€เบŸเบตเบกเปเบงเปเบฅเบฐเป„เบ”เป€เบงเบตเบ—เบตเปˆเบกเบตเบชเปˆเบงเบ™เบ›เบฐเบเบญเบšเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบŸเบฃเบตเบซเบผเบทเบžเบฒเบเบชเปˆเบงเบ™เบฅเบฐเบซเบฑเบ”, เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”. เป‚เบ”เบเบœเบนเป‰เบœเบฐเบฅเบดเบ”. เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบ 6.9, เบฅเบฐเบซเบฑเบ”เบ—เปเบฒเบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ” blob เปƒเบ™เป„เบ”เป€เบงเบต amdgpu, ath12k, adreno, btusb เปเบฅเบฐ r8169 เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปเบฅเป‰เบง. เป„เบ”เป€เบงเบต ptp_fc3 เปƒเปเปˆเป„เบ”เป‰เบ–เบทเบเบญเบฐเบ™เบฒเป„เบกเปเบฅเป‰เบง. เป€เบฎเบฑเบ”เบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”เบŠเบทเปˆ blob เปƒเบ™เป„เบŸเบฅเปŒ dts (devicetree) เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐ Aarch64. เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ—เปเบฒเบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”เป„เบ”เป€เบงเบต i915, เป€เบŠเบดเปˆเบ‡เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ freezing เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡ blobs เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เป€เบ›เบฑเบ™ hex dumps.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™