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

เบซเบผเบฑเบ‡เบˆเบฒเบเบชเบญเบ‡เป€เบ”เบทเบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, Linus Torvalds เปเบ™เบฐ เบ™เบณ เบเบฒเบ™เบ›เปˆเบญเบเปเบเปˆเบ™ Linux 5.2. เปƒเบ™เบšเบฑเบ™เบ”เบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”: เบฎเบนเบšเปเบšเบšเบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™ Ext4 เปเบกเปˆเบ™ case-insensitive, เบฅเบฐเบšเบปเบšเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ, เป„เบ”เป€เบงเบตเบชเปเบฒเบฅเบฑเบš GPU Mali 4xx/ 6xx/7xx, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เบ„เปˆเบฒ sysctl เปƒเบ™เป‚เบ›เปเบเบก BPF, device-mapper module dm-dust, เบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เป‚เบˆเบกเบ•เบต MDS, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Sound Open Firmware เบชเปเบฒเบฅเบฑเบš DSP, เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡ BFQ, เบ™เปเบฒเป€เบญเบปเบฒเบฅเบฐเบšเบปเบšเบเปˆเบญเบ PSI (Pressure Stall Information) เป„เบ›เบชเบนเปˆเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ Android.

เบฎเบธเปˆเบ™เปƒเบซเบกเปˆเบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚ 15100 เบˆเบฒเบ 1882 เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ,
เบ‚เบฐเบซเบ™เบฒเบ” patch - 62 MB (เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบš 30889 เป„เบŸเบฅเปŒ, 625094 เบชเบฒเบเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, 531864 เป€เบชเบฑเป‰เบ™เบ–เบทเบเบฅเบถเบš). เบ›เบฐเบกเบฒเบ™ 45% เบ‚เบญเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™ 5.2
เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป„เบ”เป€เบงเบตเบญเบธเบ›เบฐเบเบญเบ™, เบ›เบฐเบกเบฒเบ™ 21% เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบกเปˆเบ™
เบ—เบฑเบ”เบชเบฐเบ™เบฐเบ„เบฐเบ•เบดเบ•เปเปˆเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบฅเบฐเบซเบฑเบ”เบชเบฐเป€เบžเบฒเบฐเบเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเบฎเบฒเบ”เปเบง, 12%
เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš stack เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, 3% เบเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปเบฅเบฐ 3% เบเบฑเบšเบžเบฒเบเปƒเบ™
เบฅเบฐเบšเบปเบšเบเปˆเบญเบ kernel. 12.4% เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบกเป‚เบ”เบ Intel, 6.3% เป‚เบ”เบ Red Hat, 5.4% เป‚เบ”เบ Google, 4.0% เป‚เบ”เบ AMD, 3.1% เป‚เบ”เบ SUSE, 3% เป‚เบ”เบ IBM, 2.7% เป‚เบ”เบ Huawei, 2.7% เป‚เบ”เบ Linaro, 2.2% เป‚เบ”เบ ARM , 1.6 % - Oracle.

เบ•เบปเป‰เบ™โ€‹เบ•เป เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒ:

  • เบฅเบฐเบšเบปเบšเบเปˆเบญเบเปเบœเปˆเบ™, I/O เปเบฅเบฐเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ
    • เป€เบžเบตเปˆเบกเบชเปเบฒเบฅเบฑเบš Ext4 เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ เป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบˆเปเบฒเปเบ™เบเบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปƒเบ™เบŠเบทเปˆเป„เบŸเบฅเปŒ, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเปเบ•เปˆเบฅเบฐเบ„เบปเบ™เป‚เบ”เบเปƒเบŠเป‰เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเปƒเบซเบกเปˆ "+F" (EXT4_CASEFOLD_FL). เป€เบกเบทเปˆเบญเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ™เบตเป‰เบ–เบทเบเบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต, เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบตเป„เบŸเบฅเปŒเปเบฅเบฐเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบเปˆเบญเบเบžเบฒเบเปƒเบ™เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™, เบฅเบงเบกเบ—เบฑเบ‡เบเปเบฅเบฐเบ™เบตเบˆเบฐเบ–เบทเบเบฅเบฐเป€เบฅเบตเบเปƒเบ™เป€เบงเบฅเบฒเบ„เบปเป‰เบ™เบซเบฒเปเบฅเบฐเป€เบ›เบตเบ”เป„เบŸเบฅเปŒ (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เป„เบŸเบฅเปŒ Test.txt, test.txt เปเบฅเบฐ test.TXT เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบˆเบฐเบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ„เบทเบเบฑเบ™). เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเป€เบ›เบฑเบ™เบ•เบปเบงเบžเบดเบกเบ™เป‰เบญเบ, เบเบปเบเป€เบงเบฑเป‰เบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบตเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐ "chattr + F";
    • เบŸเบฑเบ‡เบŠเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ UTF-8 เปƒเบ™เบŠเบทเปˆเป„เบŸเบฅเปŒ, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เปเบฅเบฐเบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ›เบปเบเบเบฐเบ•เบด, เป„เบ”เป‰เป€เบ›เบฑเบ™เป€เบญเบเบฐเบžเบฒเบš;
    • XFS เป€เบžเบตเปˆเบกเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบชเบธเบ‚เบฐเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ เปเบฅเบฐ ioctl เปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบชเบฐเบ–เบฒเบ™เบฐเบชเบธเบ‚เบฐเบžเบฒเบš. เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ—เบปเบ”เบฅเบญเบ‡เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบš superblock counters เบญเบญเบ™เป„เบฅเบ™เปŒ.
    • เป€เบžเบตเปˆเบกเป‚เบกเบ”เบนเบ™เปƒเบซเบกเปˆเบญเบธเบ›เบฐเบเบญเบ™-mapper "dm-เบ‚เบตเป‰เบเบธเปˆเบ™", เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเปเบฒเบฅเบญเบ‡เบฎเบนเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบšเบฅเบฑเบญเบเบ—เบตเปˆเบšเปเปˆเบ”เบตเปƒเบ™เบชเบทเปˆเบซเบผเบทเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบญเปˆเบฒเบ™เบˆเบฒเบเปเบœเปˆเบ™. เป‚เบกเบ”เบนเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เปเบเป‰เบšเบฑเบ™เบซเบฒเบ‡เปˆเบฒเบเปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปเบฅเบฐเบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ•เปˆเบฒเบ‡เป†เปƒเบ™เปƒเบšเบซเบ™เป‰เบฒเบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰;
    • เบ›เบฐเบ•เบดเบšเบฑเบ” เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒ BFQ I/O. เปƒเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ‚เบญเบ‡เบเบฒเบ™เป‚เบซเบผเบ” I/O เบชเบนเบ‡, เบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš เบญเบฐเบ™เบธเบเบฒเบ” เบซเบผเบธเบ”เบœเปˆเบญเบ™เป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เป€เบŠเบฑเปˆเบ™เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบ–เบดเบ‡ 80%.
    • เป€เบžเบตเปˆเบกเบŠเบธเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เป‚เบ—เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ: fsopen(), open_tree(), fspick(), fsmount(), fsconfig() ะธ move_mount(). เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ (เบ›เบฐเบกเบงเบ™เบœเบปเบ™ superblock, เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ, mount, เบ•เบดเบ”เบเบฑเบšเบˆเบธเบ” mount), เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เป‚เบ”เบเปƒเบŠเป‰ mount () เบ—เบปเปˆเบงเป„เบ›เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เป‚เบ—. เบเบฒเบ™เป‚เบ—เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ mount เบชเบฐเบฅเบฑเบšเบชเบฑเบšเบŠเป‰เบญเบ™เบซเบผเบฒเบเปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเป€เบŠเบฑเปˆเบ™: reconfigure the superblock, เบเบฒเบ™เป€เบ›เบตเบ”เบ—เบฒเบ‡เป€เบฅเบทเบญเบ, เบเบฒเบ™เบ›เปˆเบฝเบ™เบˆเบธเบ” mount, เปเบฅเบฐเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเป„เบ› namespace เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เป€เบซเบ”เบœเบปเบ™เบ‚เบญเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปเบฅเบฐเบเปเบฒเบ™เบปเบ”เปเบซเบผเปˆเบ‡เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบซเบผเบฒเบเบŠเบฑเป‰เบ™, เป€เบŠเบฑเปˆเบ™ overlayfs;
    • เบเบฒเบ™เบ”เบณเป€เบ™เบตเบ™เบเบฒเบ™เปƒเปเปˆ IORING_OP_SYNC_FILE_RANGE เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเบชเปเบฒเบฅเบฑเบš I/O io_uring เบ—เบตเปˆเบšเปเปˆเบŠเบดเป‰เบ‡เป‚เบ„เป‰เบ‡, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบฝเบšเป€เบ—เบปเปˆเบฒเบเบฑเบšเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš. sync_file_range(), เปเบฅเบฐเบเบฑเบ‡เป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™ eventfd เบเบฑเบš io_uring เปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™;
    • เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ CIFS, FIEMAP ioctl เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบซเบกเบ” SEEK_DATA เปเบฅเบฐ SEEK_HOLE;
    • เปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบ FUSE เบชเบฐเป€เปœเบต API เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™;
    • Btrfs เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” qgroups เปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เบ„เบงเบฒเบกเป„เบงเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” fsync เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฒเบเบซเบผเบฒเบ. เบฅเบฐเบซเบฑเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡, เป€เบŠเบดเปˆเบ‡เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ„เบงเบฒเบกเป€เบชเบเบซเบฒเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ RAM เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐ flushing เบ‚เปเป‰เบกเบนเบ™เปƒเบชเปˆเปเบœเปˆเบ™;
    • CEPH เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบญเบญเบ snapshots เบœเปˆเบฒเบ™ NFS;
    • เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ NFSv4 เปƒเบ™เป‚เบซเบกเบ” "เบญเปˆเบญเบ™" เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡ (เบ–เป‰เบฒเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปƒเบ™เป‚เบซเบกเบ” "เบญเปˆเบญเบ™", เบเบฒเบ™เป‚เบ—เบซเบฒเป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบ„เบทเบ™เบฅเบฐเบซเบฑเบ”เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบ—เบฑเบ™เบ—เบต, เปเบฅเบฐเปƒเบ™เป‚เบซเบกเบ” "เบเบฒเบ" เบšเปเปˆเป„เบ”เป‰เปƒเบซเป‰เบˆเบปเบ™เบเปˆเบงเบฒ FS. เบเบฒเบ™เบกเบตเบขเบนเปˆ เบซเบผเบทเปเบปเบ”เป€เบงเบฅเบฒเบˆเบฐเบ–เบทเบเบŸเบทเป‰เบ™เบŸเบนเบ„เบทเบ™เบกเบฒ). เบฅเบธเป‰เบ™เปƒเปเปˆเปƒเบซเป‰เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เปเบปเบ”เป€เบงเบฅเบฒเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบเบงเปˆเบฒ, เบเบฒเบ™เบŸเบทเป‰เบ™เบŸเบนเบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”เบ—เบตเปˆเป„เบงเบ‚เบถเป‰เบ™, เปเบฅเบฐเบ•เบปเบงเป€เบฅเบทเบญเบ mount โ€œsofterโ€ เปƒเปเปˆเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบฅเบฐเบซเบฑเบ”เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ” (ETIMEDOUT) เบเบฑเบšเบ„เบทเบ™เบกเบฒเป€เบกเบทเปˆเบญเปเบปเบ”เป€เบงเบฅเบฒเป€เบเบตเบ”เบ‚เบถเป‰เบ™;
    • nfsdcld API, เบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฒเบกเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ NFS, เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบŠเบตเบšเป€เบงเบต NFS เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเป„เบ”เป‰เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เป€เบกเบทเปˆเบญ reboot. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, nfsdcld daemon เบ›เบฐเบˆเบธเบšเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™ nfsdcltrack;
    • เบชเปเบฒเบฅเบฑเบš AFS เป€เบžเบตเปˆเบก emulation เบ‚เบญเบ‡ byte range locks เปƒเบ™เป„เบŸเบฅเปŒ (เบเบฒเบ™เบฅเบฑเบญเบเบŠเปˆเบงเบ‡เป„เบšเบ•เปŒ);
  • Virtualization เปเบฅเบฐเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž
    • เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเบเปเบฒเบˆเบฑเบ”เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เปเบเปˆเบ™เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบˆเบฒเบเบžเบทเป‰เบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เป„เบ”เป‰, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบชเบฐเบเบฑเบ”เบ‚เบธเบกเบ—เบตเปˆเบกเบตเบ—เปˆเบฒเปเบฎเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ‚เบนเบ”เบฎเบตเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบต;
    • เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ kernel เปƒเบซเบกเปˆ "mitigations=" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เบชเบฐเบซเบ™เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเปƒเบ™เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เป€เบ•เบฑเบเบ™เบดเบเบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบเปˆเบฝเบงเบเบฑเบš CPU. เบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ” "mitigations=off" เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบฅเบฐเบฎเบนเบšเปเบšเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ "mitigations = auto" เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เปเบ•เปˆเบšเปเปˆเบกเบตเบœเบปเบ™เบ•เปเปˆเบเบฒเบ™เปƒเบŠเป‰ Hyper Threading. เป‚เบซเบกเบ” "mitigations = auto,nosmt" เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฑเบ‡เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™ Hyper Threading เบ–เป‰เบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบ”เบเบงเบดเบ—เบตเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™.
    • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เบฎเบญเบ‡เบฎเบฑเบšเบฅเบฒเบเป€เบŠเบฑเบ™เบ”เบดเบˆเบดเบ•เบญเบ™เป€เบญเป€เบฅเบฑเบเป‚เบ•เบฃเบ™เบดเบเบ•เบฒเบก GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3), เบžเบฑเบ”เบ—เบฐเบ™เบฒ Vitaly Chikunov เบˆเบฒเบ Basalt SPO. เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš AES128-CCM เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ” TLS เป€เบ”เบตเบก. เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš AEAD algorithms เบเบฑเบšเป‚เบกเบ”เบนเบ™ crypto_simd;
    • เปƒเบ™ Kconfig เป€เบžเบตเปˆเบก เบžเบฒเบเบชเปˆเบงเบ™ "เบเบฒเบ™เปเบ‚เบ‡เปเบเปˆเบ™" เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เป€เบชเบตเบกเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เปเบเปˆเบ™. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบžเบฒเบเบชเปˆเบงเบ™เปƒเบซเบกเปˆเบกเบตเบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰ plugins เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบš GCC;
    • เบฅเบฐเบซเบฑเบ” kernel เปเบกเปˆเบ™เป€เบเบทเบญเบš เบชเบปเปˆเบ‡เปเบฅเป‰เบง เบˆเบฒเบเบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบšเปเปˆเปเบ•เบเปเบเบเบขเบนเปˆเปƒเบ™เบชเบฐเบซเบผเบฑเบš (เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบเบฑเบšเบ„เบทเบ™เบซเบผเบทเปเบ•เบเปเบเบเบซเบผเบฑเบ‡เบˆเบฒเบเปเบ•เปˆเบฅเบฐเบเปเบฅเบฐเบ™เบตเบ•เบฑเบ™). เบกเบฑเบ™เบเบฑเบ‡เบ„เบปเบ‡เป€เบ›เบฑเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚ 32 เปƒเบ™ 2311 เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบฐเบซเบผเบฑเบšเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เป‚เบซเบกเบ” "-Wimplicit-fallthrough" เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปเบเปˆเบ™;
    • เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ PowerPC, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบปเบ™เป„เบเบฎเบฒเบ”เปเบงเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ kernel เบ—เบตเปˆเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”;
    • เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เบšเบฅเบฑเบญเบ เบเบฒเบ™เป‚เบˆเบกเบ•เบต เบซเป‰เบญเบ‡เบฎเบฝเบ™ MDS (Microarchitectural Data Sampling) เปƒเบ™เป‚เบ›เป€เบŠเบ”เป€เบŠเบต Intel. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบฅเบฐเบšเบปเบšเบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ•เปเปˆเบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญเบœเปˆเบฒเบ™เบ•เบปเบงเปเบ› SysFS โ€œ/sys/devices/system/cpu/vulnerabilities/mdsโ€. เบกเบต เบชเบญเบ‡เป‚เบซเบกเบ”เบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™: เป€เบ•เบฑเบก, เป€เบŠเบดเปˆเบ‡เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ microcode, เปเบฅเบฐ bypass, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เบฅเป‰เบฒเบ‡เบ‚เบญเบ‡ CPU buffers เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เป€เบกเบทเปˆเบญเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ–เบทเบเป‚เบญเบ™เป„เบ›เบซเบฒเบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบซเบผเบทเบฅเบฐเบšเบปเบšเปเบ‚เบ. เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡, เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต "mds =" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเปเบเปˆเบ™, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒเบ„เปˆเบฒ "เป€เบ•เบฑเบก", "เป€เบ•เบฑเบก, nosmt" (+ เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™ Hyper-Threads) เปเบฅเบฐ "เบ›เบดเบ”";
    • เปƒเบ™เบฅเบฐเบšเบปเบš x86-64, เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ "stack guard-page" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเบชเปเบฒเบฅเบฑเบš IRQ, เบเบปเบ™เป„เบเบเบฒเบ™เบ”เบตเบšเบฑเบเปเบฅเบฐเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™, เป‚เบ”เบเป€เบ™เบทเป‰เบญเปเบ—เป‰เปเบฅเป‰เบงเปเบกเปˆเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เบซเบ™เป‰เบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบŠเบฒเบเปเบ”เบ™เบ•เบดเบ”เบเบฑเบš stack, เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒ. เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™ (page-fault);
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ sysctl vm.unprivileged_userfaultfd, เป€เบŠเบดเปˆเบ‡เบ„เบงเบšเบ„เบธเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบชเบดเบ”เบ—เบดเปƒเบ™เบเบฒเบ™เปƒเบŠเป‰เบฅเบฐเบšเบปเบš userfaultfd() เป‚เบ—;
  • เบฅเบฐเบšเบปเบšเบเปˆเบญเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ
    • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เบฎเบญเบ‡เบฎเบฑเบšเบ›เบฐเบ•เบน IPv6 เบชเปเบฒเบฅเบฑเบšเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ IPv4. เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป€เบŠเบฑเปˆเบ™ "ip ro add 172.16.1.0/24 เบœเปˆเบฒเบ™ inet6 2001:db8::1 dev eth0";
    • เบชเปเบฒเบฅเบฑเบš ICMPv6, ioctl เป‚เบ—เบซเบฒ icmp_echo_ignore_anycast เปเบฅเบฐ icmp_echo_ignore_multicast เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเบšเปเปˆเบชเบปเบ™เปƒเบˆ ICMP ECHO เบชเปเบฒเบฅเบฑเบš anycast เปเบฅเบฐ
      เบ—เบตเปˆเบขเบนเปˆ multicast. เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบ„เบงเบฒเบกเป€เบ‚เบฑเป‰เบกเบ‚เบธเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ” ICMPv6;

    • เบชเปเบฒเบฅเบฑเบš BATMAN (Better Approach To Mobile Adhoc Networking) mesh protocol, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบชเป‰เบฒเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเบฒเบ™เบเบฐเบˆเบฒเบเบญเปเบฒเบ™เบฒเบ”เป€เบŠเบดเปˆเบ‡เปเบ•เปˆเบฅเบฐ node เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบœเปˆเบฒเบ™ nodes เปƒเบเป‰เบ„เบฝเบ‡, เป€เบžเบตเปˆเบก เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”เบˆเบฒเบ multicast เบเบฑเบš unicast, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเป‚เบ”เบเบœเปˆเบฒเบ™ sysfs;
    • เปƒเบ™ ethtool เป€เบžเบตเปˆเบก เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ Fast Link Down เปƒเบซเบกเปˆ, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบœเปˆเบญเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป€เบซเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบปเบ‡เบชเปเบฒเบฅเบฑเบš 1000BaseT (เบžเบฒเบเปƒเบ•เป‰เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ›เบปเบเบเบฐเบ•เบดเบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเปเบกเปˆเบ™เบชเบนเบ‡เป€เบ–เบดเบ‡ 750ms);
    • เบ›เบฒเบเบปเบ” เป‚เบญเบเบฒเบ” binding Foo-Over-UDP tunnels เบเบฑเบšเบ—เบตเปˆเบขเบนเปˆเบชเบฐเป€เบžเบฒเบฐ, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบซเบผเบท socket (เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เป‰เบฒเบเบฒเบเบ—เบปเปˆเบงเป„เบ›);
    • เปƒเบ™ stack เป„เบฎเป‰เบชเบฒเบ เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰ เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™
      OWE (Opportunistic Wireless Encryption) เปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰;

    • เปƒเบ™ Netfilter, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบ„เบญเบšเบ„เบปเบง inet address เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ nat chains (เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เปเบ›เบžเบฒเบชเบฒเบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเบ›เบฐเบกเบงเบ™เบœเบปเบ™ ipv4 เปเบฅเบฐ ipv6, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เปเบเบเบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเปเบฒเบฅเบฑเบš ipv4 เปเบฅเบฐ ipv6);
    • เปƒเบ™ netlink เป€เบžเบตเปˆเบก เบฅเบฐเบšเบญเบšเบเบฒเบ™เบ›เบปเบเบ„เบญเบ‡ เป€เบ„เบฑเปˆเบ‡เบ„เบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบขเปˆเบฒเบ‡เป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเปเบฅเบฐเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบฑเบ‡เบซเบกเบปเบ”, เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเบ„เบฒเบ”เป„เบงเป‰เบ‚เบญเบ‡เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบเบตเบ™เปเบฅเบฐเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเปเบกเปˆเบ™เบซเป‰เบฒเบก;
  • เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบฅเบฐเบšเบปเบš
    • เบ—เบธเบ‡ CLONE_PIDFD เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เป€เบญเบตเป‰เบ™เบฅเบฐเบšเบปเบš clone(), เป€เบกเบทเปˆเบญเบฅเบฐเบšเบธเป„เบงเป‰, เบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเป„เบŸเบฅเปŒ โ€œpidfdโ€ เบ—เบตเปˆเบฅเบฐเบšเบธเบ”เป‰เบงเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบฅเบนเบเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบเบฑเบšเป„เบ›เบซเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเปเปˆเปเบกเปˆ. เบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเป„เบŸเบฅเปŒเบ™เบตเป‰, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบชเบฑเบ™เบเบฒเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบขเป‰เบฒเบ™เบเบปเบงเบ—เบตเปˆเบˆเบฐเปเบฅเปˆเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™ (เบ—เบฑเบ™เบ—เบตเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบชเบปเปˆเบ‡เบชเบฑเบ™เบเบฒเบ™, PID เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบญเบฒเบ”เบˆเบฐเบ–เบทเบเบ›เบปเบ”เบ›เปˆเบญเบเบเป‰เบญเบ™เบเบฒเบ™เบขเบธเบ”เป€เบŠเบปเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปเบฅเบฐเบ–เบทเบเบ„เบญเบšเบ„เบญเบ‡เป‚เบ”เบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบญเบทเปˆเบ™);
    • เบชเปเบฒเบฅเบฑเบš cgroups เบฎเบธเปˆเบ™เบ—เบตเบชเบญเบ‡, เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก freezer เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เป€เบŠเบดเปˆเบ‡เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบขเบธเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™ cgroup เปเบฅเบฐเป€เบžเบตเปˆเบกเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡ (CPU, I/O, เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ) เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™เบญเบทเปˆเบ™เป†. เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบœเปˆเบฒเบ™ cgroup.freeze เปเบฅเบฐ cgroup.events เบ„เบงเบšเบ„เบธเบกเป„เบŸเบฅเปŒเปƒเบ™ cgroup tree. เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบ—เบต 1 เปƒเบ™ cgroup.freeze freezes เปƒเบ™ cgroup เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ เปเบฅเบฐเบเบธเปˆเบกเบฅเบนเบเบ—เบฑเบ‡เปเบปเบ”. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™ freezing เปƒเบŠเป‰เป€เบงเบฅเบฒเบšเบฒเบ‡เป€เบงเบฅเบฒ, เป„เบŸเบฅเปŒ cgroup.events เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบเบœเปˆเบฒเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบเบฒเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™;
    • เบฎเบฑเบšเบ›เบฐเบเบฑเบ™ เบเบฒเบ™เบชเบปเปˆเบ‡เบญเบญเบเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบ•เบดเบ”เบเบฑเบšเปเบ•เปˆเบฅเบฐ node เปƒเบ™ sysfs, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบˆเบฒเบเบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบ—เบฐเบ™เบฒเบ„เบฒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ heterogeneous;
    • เบฅเบฐเบšเบปเบšเบเปˆเบญเบ PSI (Pressure Stall Information) เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบงเบดเป€เบ„เบฒเบฐเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป€เบงเบฅเบฒเบฅเปเบ–เป‰เบฒเบเบฒเบ™เบฎเบฑเบšเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ•เปˆเบฒเบ‡เป† (CPU, เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, I/O) เบชเปเบฒเบฅเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบŠเบธเบ”เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปƒเบ™ cgroup. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ PSI, เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบชเบฒเบกเบฒเบ”เบ›เบฐเป€เบกเบตเบ™เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเปเบฅเบฐเบฎเบนเบšเปเบšเบšเบเบฒเบ™เบŠเป‰เบฒเบฅเบปเบ‡เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เบเบงเปˆเบฒเป€เบกเบทเปˆเบญเบ—เบฝเบšเบเบฑเบš Load Average. เบฎเบธเปˆเบ™เปƒเบซเบกเปˆเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบ„เบงเบฒเบกเบญเปˆเบญเบ™เป„เบซเบงเปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปƒเบŠเป‰เปเบšเบšเบชเปเบฒเบซเบผเบงเบ” () เป‚เบ—เป€เบžเบทเปˆเบญเบฎเบฑเบšเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบงเปˆเบฒเบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เป„เบ”เป‰เบ–เบทเบเบเบฐเบ•เบธเป‰เบ™เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™. เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ Android เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เบ‚เบฒเบ”เปเบ„เบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™, เบเปเบฒเบ™เบปเบ”เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเปเบฅเบฐเบขเบธเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบšเปเปˆเบชเปเบฒเบ„เบฑเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰. เป€เบกเบทเปˆเบญเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ„เบงเบฒเบกเบเบปเบ”เบ”เบฑเบ™, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ PSI เป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡ 10 เป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบšเบงเบเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เป€เบกเบทเปˆเบญเบ—เบฝเบšเบเบฑเบšเบชเบฐเบ–เบดเบ•เบด vmpressure;
    • เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเป‚เบ›เบผเปเบเบผเบก BPF เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เบ”เบตเบ—เบตเปˆเบชเบธเบ”, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป„เบ”เป‰เป„เบงเบ‚เบถเป‰เบ™เป€เบ–เบดเบ‡ 20 เป€เบ—เบปเปˆเบฒเบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ. เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบเปˆเบฝเบงเบเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เป‚เบ›เปเบเบก BPF เบˆเบฒเบ 4096 เป€เบ›เบฑเบ™เบฅเป‰เบฒเบ™เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ;
    • เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™ BPF เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰ เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป‚เบฅเบ, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ›เบ—เบปเปˆเบงเป‚เบฅเบเปเบฅเบฐเบ„เบปเบ‡เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบ”เบฒเป‚เบ„เบ‡เบเบฒเบ™;
    • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง API, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ sysctl เบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™ BPF;
    • เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ MIPS32, เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก JIT เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡ virtual eBPF เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”;
    • เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ PowerPC 32-bit, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเปเบเป‰เป„เบ‚ KASan (Kernel address sanitizer) เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ;
    • เปƒเบ™เบฅเบฐเบšเบปเบš x86-64, เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบงเบฒเบ‡เบฅเบฑเบ” dumps เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบทเบ™ kernel (crash-dump) เปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบชเบนเบ‡เบเบงเปˆเบฒ 896MB เป„เบ”เป‰เบ–เบทเบเป€เบญเบปเบฒเบญเบญเบ;
    • เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ s390, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš kernel address space randomization (KASLR) เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบฅเบฒเบเป€เบŠเบฑเบ™เบ”เบดเบˆเบดเบ•เบญเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป‚เบซเบฅเบ” kernel เบœเปˆเบฒเบ™ kexec_file_load() เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”;
    • เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ PA-RISC, เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš kernel debugger (KGDB), เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเป‚เบ”เบ” เปเบฅเบฐ kprobes;
  • เบญเบธเบ›เบฐเบเบญเบ™
    • เบฅเบงเบกเบ„เบปเบ™เบ‚เบฑเบš Lima เบชเปเบฒเบฅเบฑเบš Mali 400/450 GPU, เปƒเบŠเป‰เปƒเบ™เบŠเบดเบšเป€เบเบปเปˆเบฒเบซเบผเบฒเบเบญเบฑเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ ARM. เบชเปเบฒเบฅเบฑเบš Mali GPUs เปƒเบซเบกเปˆ, เป„เบ”เป€เบงเบต Panfrost เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบŠเบดเบšเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) เปเบฅเบฐ Bifrost (Mali G3x, G5x, G7x) microarchitectures;
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบชเบฝเบ‡เป‚เบ”เบเปƒเบŠเป‰เป€เบŸเบตเบกเปเบงเป€เบ›เบตเบ” เป€เบ›เบตเบ”เป€เบŸเบตเบกเปเบงเบชเบฝเบ‡ (SOF). เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบเบฒเบ™เบกเบตเป„เบ”เป€เบงเบตเป€เบ›เบตเบ”, เบฅเบฐเบซเบฑเบ”เป€เบŸเบตเบกเปเบงเบชเปเบฒเบฅเบฑเบšเบŠเบดเบšเบชเบฝเบ‡เบเบฑเบ‡เบ„เบปเบ‡เบ›เบดเบ”เปเบฅเบฐเบ–เบทเบเบชเบฐเบซเบ™เบญเบ‡เปƒเบ™เบฎเบนเบšเปเบšเบšเบ„เบนเปˆ. เป‚เบ„เบ‡เบเบฒเบ™ Sound Open Firmware เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบ Intel เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป€เบŸเบตเบกเปเบงเป€เบ›เบตเบ”เบชเปเบฒเบฅเบฑเบšเบŠเบดเบš DSP เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบชเบฝเบ‡ (เบ•เปเปˆเบกเบฒ Google เป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ). เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เป‚เบ„เบ‡เบเบฒเบ™เป„เบ”เป‰เบเบฐเบเบฝเบกเบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบšเบ‚เบญเบ‡ firmware เบชเปเบฒเบฅเบฑเบš chip เบชเบฝเบ‡เบ‚เบญเบ‡ Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake เปเบฅเบฐเป€เบงเบ—เบต IceLake;
    • Intel DRM driver (i915) เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบŠเบดเบš
      Elkhartlake (เบ›เบฐเบ–เบปเบกเบกเบฐเบเบฒเบ™ 11). เป€เบžเบตเปˆเบก PCI IDs เบชเปเบฒเบฅเบฑเบšเบŠเบดเบš Comet Lake (Gen9). เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบŠเบดเบš Icelake เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบš, เป€เบŠเบดเปˆเบ‡เบ•เบปเบงเบฅเบฐเบšเบธเบญเบธเบ›เบฐเบเบญเบ™ PCI เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒ.
      เป€เบ›เบตเบ”เปเบฅเป‰เบง
      เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ›เปˆเบฝเบ™ asynchronous เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบญเบ‡ buffers เปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบงเบดเบ”เบตเป‚เบญ (async flip) เป€เบกเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ‚เบฝเบ™เบœเปˆเบฒเบ™ mmio, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบšเบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ 3D เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš 3DMark Ice Storm เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™ 300-400%). เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ”เป‰เบฒเบ™เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต HDCP2.2 (High-bandwidth Digital Content Protection) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบชเบฑเบ™เบเบฒเบ™เบงเบดเบ”เบตเป‚เบญเบ—เบตเปˆเบชเบปเปˆเบ‡เบœเปˆเบฒเบ™ HDMI;

    • เป„เบ”เป€เบงเบต amdgpu เบชเปเบฒเบฅเบฑเบš Vega20 GPU เป€เบžเบตเปˆเบก เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš RAS (เบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบท, เบกเบต, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™) เปเบฅเบฐเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบเปˆเบญเบ SMU 11, เป€เบŠเบดเปˆเบ‡เบ›เปˆเบฝเบ™เปเบ—เบ™เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Powerplay. เบชเปเบฒเบฅเบฑเบš GPU Vega12 เป€เบžเบตเปˆเบก เบฎเบญเบ‡เบฎเบฑเบšเป‚เปเบ” BACO (Bus Active, Chip Off). เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบš XGMI, เบฅเบปเบ”เป€เบกเบ„เบงเบฒเบกเป„เบงเบชเบนเบ‡ (PCIe 4.0) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบ™ GPU. เป€เบžเบตเปˆเบกเบ•เบปเบงเบฅเบฐเบšเบธเบ—เบตเปˆเบ‚เบฒเบ”เบซเบฒเบเป„เบ›เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Polaris10 GPU เปƒเบชเปˆเป„เบ”เป€เบงเบต amdkfd;
    • เป„เบ”เป€เบงเบต Nouveau เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฐเบ”เบฒเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบŠเบดเบšเป€เบŠเบฑเบ” NVIDIA Turing 117 (TU117, เปƒเบŠเป‰เปƒเบ™ GeForce GTX 1650). IN
      kconfig เป€เบžเบตเปˆเบก เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ—เบตเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบกเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบ libdrm เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™;

    • เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš "เป„เบฅเบเบฐเป€เบงเบฅเบฒ" เบงเบฑเบ”เบ–เบธ synchronization เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ DRM API เปเบฅเบฐเป„เบ”เป€เบงเบต amdgpu, เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบฐเบเบฑเบ”เบ„เบฅเบฒเบชเบชเบดเบ.
    • เป„เบ”เป€เบงเบต vboxvideo เบชเปเบฒเบฅเบฑเบš VirtualBox virtual GPU เป„เบ”เป‰เบ–เบทเบเบเป‰เบฒเบเบˆเบฒเบเบชเบฒเบ‚เบฒ staging เบเบฑเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ•เบปเป‰เบ™เบ•เป;
    • เป€เบžเบตเปˆเบกเป„เบ”เป€เบงเบตเบ„เบงเบฒเบกเป„เบงเบชเปเบฒเบฅเบฑเบšเบŠเบดเบš GFX SoC ASPEED;
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš ARM SoC เปเบฅเบฐ Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, ,Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi ) boards RK3399, Nanopi NEO4, Veyron-Mighty Chromebook), Amlogic: SEI Robotics SEI510,
      ST Micro (stm32mp157a, stm32mp157c), NXP (
      Eckelmann ci4x10 (i.MX6DL),

      i.MX8MM EVK (i.MX8MM),

      ZII i.MX7 RPU2 (i.MX7),

      ZII SPB4 (VF610),

      Zii Ultra (i.MX8M),

      TQ TQMa7S (i.MX7Solo),

      TQ TQMa7D (i.MX7Dual),

      Kobo Aura (i.MX50),

      Menlosystems M53 (i.MX53), NVIDIA Jetson Nano (Tegra T210).

เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบกเบนเบ™เบ™เบดเบ—เบดเบŠเบญเบšเปเบงเป€เบชเบฅเบตเบญเบฒเป€เบกเบฅเบดเบเบฒเบฅเบฒเบ•เบดเบ™ เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ kernel เบŸเบฃเบตเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™ 5.2 - Linux-libre 5.2-gnu, เบฅเป‰เบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เป€เบŸเบตเบกเปเบงเปเบฅเบฐเป„เบ”เป€เบงเบตเบ—เบตเปˆเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบŸเบฃเบตเบซเบผเบทเบžเบฒเบเบชเปˆเบงเบ™เบฅเบฐเบซเบฑเบ”, เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เป‚เบ”เบเบœเบนเป‰เบœเบฐเบฅเบดเบ”. เบเบฒเบ™เบญเบญเบเปƒเบซเบกเปˆเบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบญเบฑเบšเป‚เบซเบฅเบ”เป„เบŸเบฅเปŒ
เบชเบฝเบ‡เป€เบ›เบตเบ”เป€เบŸเบตเบกเปเบง. เบเบฒเบ™เป‚เบซเบผเบ” blobs เปƒเบ™เป„เบ”เป€เบงเบตเบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp เปเบฅเบฐ ucsi_ccg. เบฅเบฐเบซเบฑเบ”เบ—เปเบฒเบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ” blob เปƒเบ™ ixp4xx, imx-sdma, amdgpu, nouveau เปเบฅเบฐ goya drivers เปเบฅเบฐเบฅเบฐเบšเบปเบšเบเปˆเบญเบ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™ microcode, เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡. เบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ” blobs เปƒเบ™เป„เบ”เป€เบงเบต r8822be เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เป‚เบเบเบเป‰เบฒเบเบ‚เบญเบ‡เบกเบฑเบ™.

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

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