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

เบซเบผเบฑเบ‡เบˆเบฒเบเบชเบญเบ‡เป€เบ”เบทเบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, Linus Torvalds เปเบ™เบฐ เบ™เบณ เบเบฒเบ™เบ›เปˆเบญเบเปเบเปˆเบ™ Linux 5.3. เปƒเบ™เบšเบฑเบ™เบ”เบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบฑเบ‡เป€เบเบ”เบ—เบตเปˆเบชเบธเบ”: เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ AMD Navi GPUs, เป‚เบ›เป€เบŠเบ”เป€เบŠเบต Zhaoxi เปเบฅเบฐ Intel Speed โ€‹โ€‹โ€‹โ€‹Select เป€เบ—เบเป‚เบ™เป‚เบฅเบเบตเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปƒเบŠเป‰เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ umwait เป€เบžเบทเปˆเบญเบฅเปเบ–เป‰เบฒเป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เปƒเบŠเป‰เบฎเบญเบšเบงเบฝเบ™,
เป‚เบซเบกเบ” 'utilization clamping' เบ—เบตเปˆเป€เบžเบตเปˆเบกเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบชเปเบฒเบฅเบฑเบš CPUs asymmetric, เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš pidfd_open, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบขเบนเปˆ IPv4 เบˆเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเปˆเบญเบ 0.0.0.0/8, เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เป€เบฅเบฑเปˆเบ‡เบฎเบฒเบ”เปเบง nftables, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ HDR เปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบ DRM, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบ‚เบญเบ‡ ACRN hypervisor.

ะ’ เบ›เบฐเบเบฒเบ” เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆ, Linus เป€เบ•เบทเบญเบ™เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบเปˆเบฝเบงเบเบฑเบšเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ kernel - เบเบฒเบ™เบฎเบฑเบเบชเบฒเบžเบถเบ”เบ•เบดเบเปเบฒเบ”เบฝเบงเบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰. เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡ kernel เบšเปเปˆเบ„เบงเบ™เปƒเบ™เบ—เบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เปเบฒเบฅเบฒเบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰เปเบฅเป‰เบงเบซเบผเบทเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบ–เบปเบ”เบ–เบญเบเปƒเบ™เบฅเบฐเบ”เบฑเบšเบœเบนเป‰เปƒเบŠเป‰. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบเบฒเบ™เบฅเบฐเป€เบกเบตเบ”เบžเบถเบ”เบ•เบดเบเปเบฒเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡ ABI, เบเบฒเบ™เบเปเบฒเบˆเบฑเบ”เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบก, เบซเบผเบทเบฎเบนเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”, เปเบ•เปˆเบเบฑเบ‡เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบญเป‰เบญเบกเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡. เปƒเบ™โ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹ เบเบปเบเป€เบฅเบตเบ เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ” เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš เปƒเบ™เบฅเบฐเบซเบฑเบ” Ext4, เป€เบŠเบดเปˆเบ‡เบซเบผเบธเบ”เบœเปˆเบญเบ™เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‚เบ”เบเบเบฒเบ™เบ›เบดเบ”เบเบฒเบ™เบญเปˆเบฒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ inode เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป I/O เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ.

เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป„เบ”เป‰เบ™เปเบฒเป„เบ›เบชเบนเปˆเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒ, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบ‚เบญเบ‡เบเบดเบ”เบˆเบฐเบเปเบฒเบ‚เบญเบ‡เปเบœเปˆเบ™, entropy เบชเปเบฒเบฅเบฑเบš getrandom() เบˆเปเบฒเบ™เบงเบ™ Random generator เป€เบฅเบตเปˆเบกเบชเบฐเบชเบปเบกเบŠเป‰เบฒเบซเบผเบฒเบเปเบฅเบฐเปƒเบ™เบšเบฒเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เบžเบฒเบเปƒเบ•เป‰เบšเบฒเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™, freezes เบชเบฒเบกเบฒเบ”เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบˆเบปเบ™เบเปˆเบงเบฒเบชเบฐเบ™เบธเบเป€เบเบต entropy เป„เบ”เป‰. เป€เบ•เบฑเบก. เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปเบ—เป‰เป†, เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบตเปˆเบกเบฑเบ™เบ–เบทเบเบชเบฐเป€เบซเบ™เบตเป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเป‚เบ”เบเบเบฒเบ™เบ›เบดเบ”เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เป€เบญเบตเป‰เบ™ getrandom() เปเบฅเบฐเป€เบžเบตเปˆเบกเบ—เบธเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบฅเปเบ–เป‰เบฒ entropy, เปเบ•เปˆเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบˆเบฐเบชเบปเปˆเบ‡เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆ. เบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบ‚เบญเบ‡เบ•เบปเบงเป€เบฅเบเบชเบธเปˆเบกเบขเบนเปˆเปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เป‚เบซเบผเบ”.

เบฎเบธเปˆเบ™เปƒเบซเบกเปˆเบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚ 15794 เบˆเบฒเบ 1974 เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ,
เบ‚เบฐเบซเบ™เบฒเบ” patch - 92 MB (เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบš 13986 เป„เบŸเบฅเปŒ, 258419 เบชเบฒเบเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก,
599137 เปเบ–เบงเบ–เบทเบเป‚เบเบเบเป‰เบฒเบ). เบ›เบฐเบกเบฒเบ™ 39% เบ‚เบญเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™ 5.3
เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป„เบ”เป€เบงเบตเบญเบธเบ›เบฐเบเบญเบ™, เบ›เบฐเบกเบฒเบ™ 12% เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบกเปˆเบ™
เบ—เบฑเบ”เบชเบฐเบ™เบฐเบ„เบฐเบ•เบดเบ•เปเปˆเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบฅเบฐเบซเบฑเบ”เบชเบฐเป€เบžเบฒเบฐเบเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเบฎเบฒเบ”เปเบง, 11%
เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš stack เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, 3% เบเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปเบฅเบฐ 3% เบเบฑเบšเบžเบฒเบเปƒเบ™
เบฅเบฐเบšเบปเบšเบเปˆเบญเบ kernel.

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

  • เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบฅเบฐเบšเบปเบš
    • เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆ 'pidfd' เป€เบžเบทเปˆเบญเบŠเปˆเบงเบเบˆเบฑเบ”เบเบฒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปƒเบŠเป‰ PID เบ„เบทเบ™เปƒเปเปˆ (pidfd เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเบฐเป€เบžเบฒเบฐเปเบฅเบฐเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ PID เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบญเบทเปˆเบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš PID เบ™เบฑเป‰เบ™เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡). เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ kernel เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰
      เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš pidfd_send_signal() เปเบฅเบฐเบ—เบธเบ‡ CLONE_PIDFD เปƒเบ™ clone() เป‚เบ—เบซเบฒเป€เบžเบทเปˆเบญเบฎเบฑเบš pidfd เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ idfd_send_signal(). เบเบฒเบ™เปƒเบŠเป‰เป‚เบ„เบ™เบ™เปŒ() เบเบฑเบšเบ—เบธเบ‡ CLONE_PIDFD เบญเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒเบเบฑเบšเบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ เบซเบผเบทเบฅเบฐเบšเบปเบšเบเบฒเบ™เบขเบธเบ”เบเบฒเบ™เบšเบฑเบ‡เบ„เบฑเบšเปƒเบŠเป‰เบ„เบงเบฒเบกเบˆเบณเบ‚เบญเบ‡เปเบžเบฅเบ”เบŸเบญเบก Android. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบเบฒเบ™เป‚เบ—เบซเบฒ fork() เบซเบผเบท clone() เป‚เบ”เบเบšเปเปˆเบกเบต CLONE_PIDFD เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

      Kernel 5.3 เปเบ™เบฐเบ™เปเบฒเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš pidfd_open(), เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป„เบ”เป‰เบฎเบฑเบš pidfd เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบเบงเบ”เบชเบญเบšเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเป‚เบ”เบเบ•เบปเบ™เป€เบญเบ‡เบšเปเปˆเป„เบ”เป‰เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบเบฒเบ™เป‚เบ—เบซเบฒ clone() เบ”เป‰เบงเบเบ—เบธเบ‡ CLONE_PIDFD. เบเบฑเบ‡เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบปเบ‡เบ„เบฐเปเบ™เบ™ pidfd เป‚เบ”เบเปƒเบŠเป‰ poll() เปเบฅเบฐ epoll(), เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เบขเบธเบ”เป€เบŠเบปเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบ•เบปเบ™เป€เบญเบ‡เบกเบฑเบเป‚เบ”เบเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบขเป‰เบฒเบ™เบเบปเบงเบ•เปเปˆเบชเบฐเบžเบฒเบšเบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™เบ–เป‰เบฒ PID เบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเปƒเบซเป‰เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปƒเบซเบกเปˆ. เบเบปเบ™เป„เบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš pidfd เป„เบ”เป‰เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบฅเบนเบเบ‚เบญเบ‡เบกเบฑเบ™เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡;

    • เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบปเบ™เป„เบเบเบฒเบ™เบ›เบฑเบเปเบธเบ”เบเบฒเบ™เป‚เบซเบผเบ”เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบ•เบปเบงเบเบณเบ™เบปเบ”เป€เบงเบฅเบฒเบงเบฝเบ (clamping เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰), เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบถเบ”เบซเบกเบฑเป‰เบ™เปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ„เบงเบฒเบกเบ–เบตเปˆเบ•เปˆเปเบฒเบชเบธเบ”เบซเบผเบทเบชเบนเบ‡เบชเบธเบ”, เบ‚เบถเป‰เบ™เบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ CPU. เบเบปเบ™เป„เบเบ—เบตเปˆเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเป€เบฅเบฑเปˆเบ‡เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเป‚เบ”เบเบเบปเบ‡เบ•เปเปˆเบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบ‚เบญเบ‡เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เป‚เบ”เบเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบงเบฝเบเบ‡เบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบขเบนเปˆเบ—เบตเปˆเบ•เปˆเปเบฒเบชเบธเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบ–เบตเปˆ "เบฎเป‰เบญเบ‡เบ‚เป". เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบšเบนเบฅเบดเบกเบฐเบชเบดเบ”เบ•เปเปˆเบฒเบ—เบตเปˆเบšเปเปˆเบชเบปเปˆเบ‡เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเป‚เบ”เบเปƒเบŠเป‰เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เป€เบ—เบดเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบ–เบตเปˆ "เบญเบฐเบ™เบธเบเบฒเบ”". เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบœเปˆเบฒเบ™เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐ sched_ulamp_util_min เปเบฅเบฐ sched_ulamp_util_max เปƒเบ™เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš sched_setattr().
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™ Intel Speed โ€‹โ€‹โ€‹โ€‹เป€เบฅเบทเบญเบ, เบกเบตเบขเบนเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเป€เบฅเบทเบญเบเบ”เป‰เบงเบเป‚เบ›เป€เบŠเบ”เป€เบŠเบต Intel Xeon. เป€เบ—เบเป‚เบ™เป‚เบฅเบเบตเบ™เบตเป‰เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เบชเปเบฒเบฅเบฑเบš CPU cores เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบฅเปเบฒเบ”เบฑเบšเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบšเบฒเบ‡เปเบเบ™, เบเบฒเบ™เป€เบชเบเบชเบฐเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เปเบเบ™เบญเบทเปˆเบ™เป†;
    • เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰ เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰ เบ„เบงเบฒเบกโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบฅเปโ€‹เบ–เป‰เบฒโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เปƒเบŠเป‰โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบชเบฑเป‰เบ™โ€‹เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ loops เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ„เปเบฒโ€‹เปเบ™เบฐโ€‹เบ™เปเบฒ umwaitโ€‹. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ™เบตเป‰, เบžเป‰เบญเบกเบเบฑเบšเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ umonitor เปเบฅเบฐ tpause, เบˆเบฐเบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™เบŠเบดเบš "Tremont" เบ‚เบญเบ‡ Intel เบ—เบตเปˆเบˆเบฐเบกเบฒเป€เบ–เบดเบ‡, เปเบฅเบฐเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ”เป‰เบฒเบ™เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เปเบฅเบฐเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบเบฐเบ—เบนเป‰เบญเบทเปˆเบ™เป†เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰ Hyper Threading;
    • เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ RISC-V, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบซเบ™เป‰เบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก;
    • เบเบปเบ™เป„เบ kprobes tracing เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™ dereference kernel pointers เบเบฑเบšเบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบ›เบฐเป€เบกเบตเบ™เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ—เบตเปˆเบชเบปเปˆเบ‡เบเบฑเบšเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš. เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบšเบนเบ”เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก.
    • เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบ PREEMPT_RT เปƒเบชเปˆเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เปƒเบ™เป€เบงเบฅเบฒเบˆเบดเบ‡. เบฅเบฐเบซเบฑเบ”เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบซเบกเบ”เป€เบงเบฅเบฒเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ kernel, เปเบ•เปˆเบฎเบนเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบ™เบ—เบตเปˆเบ”เบตเบงเปˆเบฒ epic เป„เบฅเบเบฐเบเบฒเบง. เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™ เป€เบงเบฅเบฒเบˆเบดเบ‡-Preempt patches เปƒเบเป‰เบˆเบฐเบชเบณเป€เบฅเบฑเบ”เปเบฅเป‰เบง;
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เป‚เบ—เบซเบฒเบฅเบฐเบšเบปเบš clone3() เบ”เป‰เบงเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ•เบปเบงเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡ clone() เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰เบซเบผเบฒเบเบ‚เบถเป‰เบ™, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™เบ—เบธเบ‡เบซเบผเบฒเบ;
    • เป€เบžเบตเปˆเบก bpf_send_signal() handler, เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป‚เบ„เบ‡เบเบฒเบ™ BPF เบชเบปเปˆเบ‡เบชเบฑเบ™เบเบฒเบ™เป„เบ›เบซเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบกเบฑเบ;
    • เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบเบฒเบ™ perf เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก KVM hypervisor, เบเบปเบ™เป„เบเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เป€เบซเบ”เบเบฒเบ™เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เปƒเบซเป‰เบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เป€เบซเบ”เบเบฒเบ™เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เบซเบผเบทเบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ•เบดเบ”เบ•เบฒเบกเปƒเบ™เบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเปเบ‚เบ;
    • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบšเบฑเบ™เบ”เบฒเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบกเบต loops เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบปเบ™เป„เบเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ eBPF เบ–เป‰เบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ loop เป„เบ”เป‰เบ–เบทเบเบˆเปเบฒเบเบฑเบ”เปเบฅเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เป€เบเบตเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเบนเบ‡เบชเบธเบ”;
  • เบฅเบฐเบšเบปเบšเบเปˆเบญเบเปเบœเปˆเบ™, I/O เปเบฅเบฐเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ
    • เบ•เบญเบ™เบ™เบตเป‰เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ XFS เบฎเบญเบ‡เบฎเบฑเบšเบซเบผเบฒเบเบเบฐเบ—เบนเป‰ bypass inode (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบกเบทเปˆเบญเบเบงเบ”เป€เบšเบดเปˆเบ‡เป‚เบ„เบ•เป‰เบฒ). ioctls BULKSTAT เปเบฅเบฐ INUMBERS เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบชเบฐเบšเบฑเบšเบ—เบตเบซเป‰เบฒเบ‚เบญเบ‡เบฎเบนเบšเปเบšเบš FS, เป€เบŠเบฑเปˆเบ™: เป€เบงเบฅเบฒเป€เบเบตเบ” inode เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต BULKSTAT เปเบฅเบฐ INUMBERS เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบเบธเปˆเบก AG (เบเบธเปˆเบกเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™);
    • เปƒเบ™ Ext4 เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ voids เปƒเบ™ directory (เบ•เบฑเบ™ unlinked).
      เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰ เบ—เบธเบ‡ โ€œiโ€ (เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰) เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเป€เบ›เบตเบ” (เบเบฒเบ™เบ‚เบฝเบ™เบ–เบทเบเบซเป‰เบฒเบกเปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ—เบธเบ‡เป„เบ”เป‰เบ–เบทเบเบ•เบฑเป‰เบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป„เบŸเบฅเปŒเป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เปเบฅเป‰เบง);

    • Btrfs เบชเบฐเบซเบ™เบญเบ‡เบ„เปเบฒเบ™เบดเบเบฒเบกเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบ‚เบญเบ‡ crc32c เบเปˆเบฝเบงเบเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”;
    • เปƒเบ™ CIFS, เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ smbdirect เป„เบ”เป‰เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเป€เบ›เบฑเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบปเบ”เบฅเบญเบ‡. SMB3 เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปƒเบŠเป‰เบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบฅเบฑเบšเปƒเบ™เป‚เปเบ” GCM. เป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบทเบญเบ mount เปƒเปเปˆเป€เบžเบทเปˆเบญเปเบเบเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเป‚เปเบ”เบญเบญเบเบˆเบฒเบเบฅเบฒเบเบเบฒเบ™ ACE (Access Control Entry). เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบเบฒเบ™เป‚เบ—เป€เบ›เบตเบ”();
    • เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบชเปˆ F2FS เป€เบžเบทเปˆเบญเบˆเปเบฒเบเบฑเบ”เบ•เบปเบงเป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™ checkpoint=disable mode. เป€เบžเบตเปˆเบก ioctl เป€เบžเบทเปˆเบญเป€เบญเบปเบฒเบŠเปˆเบงเบ‡ block เบˆเบฒเบ F2FS, เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบžเบฒเบ—เบดเบŠเบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบšเบดเบ™. เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบงเบฒเบ‡เป„เบŸเบฅเปŒ swap เปƒเบ™ F2FS เป€เบžเบทเปˆเบญเปƒเบซเป‰ I/O เป‚เบ”เบเบเบปเบ‡. เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ pinning เป„เบŸเบฅเปŒเปเบฅเบฐเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™ blocks เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”;
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ—เบตเปˆเบšเปเปˆเบŠเบดเป‰เบ‡เป‚เบ„เบ™ sendmsg() เปเบฅเบฐ recvmsg() เบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบชเปเบฒเบฅเบฑเบš asynchronous input/output io_uring;
    • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰ zstd algorithm เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบฎเบนเบšเบžเบฒเบš FS เบ—เบตเปˆเป€เบŠเบฑเบ™เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ UBIFS;
    • Ceph FS เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ›เป‰เบฒเบเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž SELinux เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒ;
    • เบชเปเบฒเบฅเบฑเบš NFSv4, เบ—เบฒเบ‡เป€เบฅเบทเบญเบ mount เปƒเบซเบกเปˆ "nconnect =" เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบ–เบทเบเปเบˆเบเบขเบฒเบเป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ NFSv4 เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเป‰เบฒเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต /proc/fs/nfsd/clients เบ—เบตเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, เบฅเบงเบกเบ—เบฑเบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเป„เบ”เป‰เป€เบ›เบตเบ”;
  • Virtualization เปเบฅเบฐเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž
    • kernel เบ›เบฐเบเบญเบšเบกเบต hypervisor เบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบเบฑเบ‡ ACRN, เป€เบŠเบดเปˆเบ‡เบ‚เบฝเบ™เบ”เป‰เบงเบเบ•เบฒเป€เบžเบทเปˆเบญเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เปเบฅเบฐเบ„เบงเบฒเบกเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบฅเบฐเบšเบปเบšเบžเบฒเบฅเบฐเบเบดเบ”เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™. ACRN เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™ overhead เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”, เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™ latency เบ•เปˆเปเบฒเปเบฅเบฐเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ—เบตเปˆเบžเบฝเบ‡เบžเปเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™. เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ virtualization เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU, I/O, เบฅเบฐเบšเบปเบšเบเปˆเบญเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบฎเบนเบšเบžเบฒเบšเปเบฅเบฐเบชเบฝเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™. ACRN เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเปเบฅเปˆเบ™เป€เบ„เบทเปˆเบญเบ‡ virtual เบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเบซเบผเบฒเบเปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบšเบ„เบธเบกเป€เบญเป€เบฅเบฑเบเป‚เบ•เบฃเบ™เบดเบ, dashboards, เบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™เบฅเบปเบ”เบเบปเบ™, เบญเบธเบ›เบฐเบเบญเบ™ IoT เบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบเปเบฅเบฐเป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเบเบฑเบ‡เบ•เบปเบงเบญเบทเปˆเบ™เป†;
    • เปƒเบ™เป‚เปเบ”เบœเบนเป‰เปƒเบŠเป‰ Linux เป€เบžเบตเปˆเบก เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบ”เบตเบ™เบ—เบฒเบ‡เป€เบงเบฅเบฒ, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเป‰เบฒเบฅเบปเบ‡เบซเบผเบทเป€เบฅเบฑเปˆเบ‡เป€เบงเบฅเบฒเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก UML virtual เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เปเบเป‰เป„เบ‚เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป€เบงเบฅเบฒ. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก
      time-travel-start, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป‚เบกเบ‡เบฅเบฐเบšเบปเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบเบŠเปˆเบงเบ‡เป€เบงเบฅเบฒเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เบฎเบนเบšเปเบšเบš epoch;

    • เบ•เบปเบงเป€เบฅเบทเบญเบเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ kernel เปƒเบซเบกเปˆ "init_on_alloc" เปเบฅเบฐ "init_on_free" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เป€เบกเบทเปˆเบญเบเปเบฒเบ™เบปเบ”, เบเบฒเบ™เบชเบนเบ™เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบ–เบทเบเบ›เบปเบ”เบ›เปˆเบญเบเบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰ (เบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เบ”เป‰เบงเบเบชเบนเบ™เบชเปเบฒเบฅเบฑเบš malloc เปเบฅเบฐเบšเปเปˆเป€เบชเบเบ„เปˆเบฒ), เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบกเบตเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก;
    • เป€เบžเบตเปˆเบกเบ„เบปเบ™เบ‚เบฑเบšเปƒเปเปˆเปเบฅเป‰เบง virtio-iommu เบ”เป‰เบงเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบธเบ›เบฐเบเบญเบ™ paravirtualized เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป IOMMU เป€เบŠเบฑเปˆเบ™ ATTACH, DETACH, MAP เปเบฅเบฐ UNMAP เปƒเบ™เป„เบฅเบเบฐเบเบฒเบ™เบ‚เบปเบ™เบชเบปเปˆเบ‡ virtio เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบซเบ™เป‰เบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ;
    • เป€เบžเบตเปˆเบกเบ„เบปเบ™เบ‚เบฑเบšเปƒเปเปˆเปเบฅเป‰เบง virtio-pmem, เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปเบœเบ™เบ—เบตเปˆเบเบฑเบšเบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ, เป€เบŠเบฑเปˆเบ™: NVDIMMs;
    • เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปเบ™เบšเบฅเบฐเบซเบฑเบ”เบฅเบฐเบซเบฑเบ”เบฅเบฑเบšเปƒเบซเป‰เบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰ เบซเบผเบท namespace เบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ (เบเบฐเปเบˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰เบขเบนเปˆเบ™เบญเบ namespace เบ—เบตเปˆเป€เบฅเบทเบญเบ), เบžเป‰เบญเบกเบ—เบฑเบ‡เบ›เบปเบเบ›เป‰เบญเบ‡เบเบฐเปเบˆเป‚เบ”เบเปƒเบŠเป‰ ACLs;
    • เบเบฑเบšเบฅเบฐเบšเบปเบšเบเปˆเบญเบ crypto เป€เบžเบตเปˆเบก เบฎเบญเบ‡เบฎเบฑเบšเบฅเบฐเบšเบปเบš hashing algorithm เบ—เบตเปˆเบšเปเปˆเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เป„เบงเบซเบผเบฒเบ xxhash, เบ„เบงเบฒเบกเป„เบงเบ—เบตเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ;
  • เบฅเบฐเบšเบปเบšเบเปˆเบญเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ
    • เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ—เบตเปˆเบขเบนเปˆ IPv4 เปƒเบ™เบŠเปˆเบงเบ‡ 0.0.0.0/8, เป€เบŠเบดเปˆเบ‡เบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ™เบณเปƒเบŠเป‰เป„เบ”เป‰. เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเปˆเบญเบเบ™เบตเป‰ เบˆเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ เปเบˆเบเบขเบฒเบเบญเบตเบ 16 เบฅเป‰เบฒเบ™เบ—เบตเปˆเบขเบนเปˆ IPv4;
    • เปƒเบ™ Netfilter เบชเปเบฒเบฅเบฑเบš nftables เป€เบžเบตเปˆเบก เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบปเบ™เป„เบเบเบฒเบ™เป€เบฅเบฑเปˆเบ‡เบฎเบฒเบ”เปเบงเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบŠเบญเบ‡เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป€เบงเบตเป€เบžเบตเปˆเบกเป€เบ•เบตเบก Flow Block API. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเบกเบตเบ•เปˆเบญเบ‡เป‚เบชเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฒเบกเบฒเบ”เบ–เบทเบเบงเบฒเบ‡เป„เบงเป‰เบ‚เป‰เบฒเบ‡เบ‚เบญเบ‡เบ•เบปเบงเบ”เบฑเบ”เปเบ›เบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบ—เบธเบ‡ NFT_TABLE_F_HW เบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เบฎเบญเบ‡เบฎเบฑเบšเป€เบกเบ•เบฒเป€เบ”เบ•เบฒเบ‚เบญเบ‡เป‚เบ›เบฃเป‚เบ•เบ„เบญเบ™เบŠเบฑเป‰เบ™ 3 เปเบฅเบฐเบŠเบฑเป‰เบ™ 4 เปเบšเบšเบ‡เปˆเบฒเบเบ”เบฒเบ, เบเบญเบกเบฎเบฑเบš/เบ›เบฐเบ•เบดเป€เบชเบ”เบเบฒเบ™เบเบฐเบ—เบณ, เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบœเบ™เบ—เบตเปˆเป‚เบ”เบ IP เปเบฅเบฐเบœเบญเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบœเบนเป‰เบชเบปเปˆเบ‡/เบœเบนเป‰เบฎเบฑเบš เปเบฅเบฐเบ›เบฐเป€เบžเบ”เป‚เบ›เบฃเป‚เบ•เบ„เป;
    • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปƒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเปเบฒเบฅเบฑเบšเบ‚เบปเบงเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰เบŠเบฑเป‰เบ™ br_netfilter emulating;
    • เปƒเบ™ nf_tables เป€เบžเบตเปˆเบก เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบกเบ”เบนเบ™ SYNPROXY, เป€เบŠเบดเปˆเบ‡ replicates เบซเบ™เป‰เบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบˆเบฒเบ iptables, เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเปเบฒเบฅเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เปƒเบ™เบซเบปเบงเบ‚เปเป‰ IPv4 เบเบฑเบ‡เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”;
    • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ„เบฑเบ”เบ•เบดเบ”เบšเบฑเบ™เบ”เบฒเป‚เบ„เบ‡เบเบฒเบ™ BPF เบเบฑเบš setsockopt() เปเบฅเบฐ getsockopt() เป‚เบ—เบฅเบฐเบšเบปเบš, เป€เบŠเบดเปˆเบ‡, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡เบเบฑเบšเบเบฒเบ™เป‚เบ—เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบˆเบธเบ”เป‚เบ—เปƒเบซเบกเปˆ (hook) เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เป€เบŠเบดเปˆเบ‡เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบเบฒเบ™เป‚เบ—เป„เบ›เบซเบฒเป‚เบ„เบ‡เบเบฒเบ™ BPF เบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเป„เบฅเบเบฐ RTT (เป„เบ›-เบเบฑเบš, เป€เบงเบฅเบฒ ping);
    • เบชเปเบฒเบฅเบฑเบš IPv4 เปเบฅเบฐ IPv6 เป€เบžเบตเปˆเบก เบเบปเบ™เป„เบเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ Nexthop เปƒเปเปˆ เป€เบžเบทเปˆเบญเปเบ™เปƒเบชเปˆเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบฐเปœเบฒเบ”เบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบเบณเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡. เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบฅเบฐเบšเบปเบšเปƒเบซเบกเปˆ, เบŠเบธเบ”เบ‚เบญเบ‡ 743 เบžเบฑเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ”เป‰เบ–เบทเบ loaded เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เปเบเปˆเบ™เปƒเบ™เบžเบฝเบ‡เปเบ•เปˆ 4.3 เบงเบดเบ™เบฒเบ—เบต;
    • เบชเปเบฒเบฅเบฑเบš Bluetooth เบ›เบฐเบ•เบดเบšเบฑเบ” เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ LE ping;
  • เบญเบธเบ›เบฐเบเบญเบ™
    • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เบฎเบญเบ‡เบฎเบฑเบšเป‚เบ›เป€เบŠเบ”เป€เบŠเบต x86 เบ‚เบญเบ‡เบšเปเบฅเบดเบชเบฑเบ” Zhaoxin, เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™เบฎเปˆเบงเบกเบกเบทเบฅเบฐเบซเบงเปˆเบฒเบ‡ VIA Technologies เปเบฅเบฐเป€เบ—เบ”เบชเบฐเบšเบฒเบ™เบŠเบฝเบ‡เป„เบฎ. เบ„เบญเบšเบ„เบปเบง ZX CPU เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐ x86-64 Isaiah, เบชเบทเบšเบ•เปเปˆเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต VIA Centaur;
    • เบฅเบฐเบšเบปเบšเบเปˆเบญเบ DRM (Direct Rendering Manager) เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป„เบ”เป€เบงเบตเบเบฃเบฒเบšเบŸเบดเบ amdgpu เปเบฅเบฐ i915, เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เปเบเบเบงเบดเป€เบ„เบฒเบฐ, เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™ เปเบฅเบฐเบชเบปเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบกเบ•เบฒเป€เบ”เบ•เบฒ HDR (เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆเบชเบนเบ‡) เบœเปˆเบฒเบ™เบžเบญเบ” HDMI, เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เปƒเบŠเป‰เปเบœเบ‡ HDR เปเบฅเบฐเปœเป‰เบฒเบˆเปเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”. เบชเบฐเปเบ”เบ‡เบ‚เบญเบšเป€เบ‚เบ”เบ„เบงเบฒเบกเบชเบฐเบซเบงเปˆเบฒเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบก;
    • เป„เบ”เป€เบงเบต amdgpu เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบš AMD NAVI GPU (RX5700), เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบกเบตเป„เบ”เป€เบงเบตเบžเบทเป‰เบ™เบ–เบฒเบ™, เบฅเบฐเบซเบฑเบ”เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบˆเป (DCN2), GFX เปเบฅเบฐเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป‰ (GFX10),
      SDMA 5 (เบฅเบฐเบšเบปเบš DMA0), เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™ เปเบฅเบฐเบ•เบปเบงเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”/เบ•เบปเบงเบ–เบญเบ”เบฅเบฐเบซเบฑเบ”เบกเบฑเบ™เบ•เบดเบกเบตเป€เบ”เบ (VCN2). amdgpu เบเบฑเบ‡เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบšเบฑเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Vega12 เปเบฅเบฐ Vega20 GPUs, เป€เบŠเบดเปˆเบ‡เบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐเบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก;

    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบšเบฑเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ VegaM GPUs เบเบฑเบšเป„เบ”เป€เบงเบต amdkfd (เบชเปเบฒเบฅเบฑเบš GPUs เบ—เบตเปˆเปเบเบเบเบฑเบ™, เป€เบŠเบฑเปˆเบ™ Fiji, Tonga, Polaris);
    • เปƒเบ™เป„เบ”เป€เบงเบต DRM เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ”เบงเบตเบ”เบตเป‚เบญ Intel เบชเปเบฒเบฅเบฑเบšเบŠเบดเบš Icelake เบ›เบฐเบ•เบดเบšเบฑเบ” เป‚เปเบ”เบเบฒเบ™เปเบเป‰เป„เบ‚เปเบเบกเบกเบฒเบซเบผเบฒเบเบชเปˆเบงเบ™เปƒเปเปˆ. เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบญเบญเบเบœเปˆเบฒเบ™ DisplayPort เปƒเบ™เบฎเบนเบšเปเบšเบš YCbCr4: 2: 0. เป€เบžเบตเปˆเบกเป€เบŸเบตเบกเปเบงเปƒเปเปˆเปเบฅเป‰เบง GuC เบชเปเบฒเบฅเบฑเบš SKL, BXT, KBL, GLK เปเบฅเบฐ ICL. เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบดเบ”เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบซเบ™เป‰เบฒเบˆเปเปƒเบ™เป‚เบซเบกเบ” asynchronous เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบซเบเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบŸเบทเป‰เบ™เบŸเบนเบชเบฐเบžเบฒเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™เบชเปเบฒเบฅเบฑเบšเบŠเบดเบš Ironlake (gen5) เปเบฅเบฐ gen4 (Broadwater - Cantiga), เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŸเบทเป‰เบ™เบŸเบนเบชเบฐเบ–เบฒเบ™เบฐ GPU เบˆเบฒเบเบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เป€เบกเบทเปˆเบญเป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบˆเบฒเบเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ batch เบซเบ™เบถเปˆเบ‡เป„เบ›เบซเบฒเบญเบตเบ;
    • เป„เบ”เป€เบงเบต Nouveau เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบเบงเบ”เบžเบปเบšเบ‚เบญเบ‡เบŠเบดเบšเป€เบŠเบฑเบ” NVIDIA Turing TU116;
    • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เป„เบ”เป€เบงเบต DRM/KMS เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เป€เบฅเบฑเปˆเบ‡เปœเป‰เบฒเบˆเป ARM Komeda (Mali D71) เป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเบญเบญเบ, เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเปœเบฒเบ”, เบเบฒเบ™เปเบšเปˆเบ‡/เบฎเบงเบกเบŠเบฑเป‰เบ™, เบเบฒเบ™เบซเบกเบธเบ™, เบเบฒเบ™เบ‚เบฝเบ™เปเบšเบšเป€เบฅเบทเปˆเบญเบ™, AFBC, SMMU เปเบฅเบฐเบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบชเบต Y0L2, P010, YUV420_8/10BIT เบกเบต เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก;
    • เป„เบ”เป€เบงเบต MSM เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบŠเบธเบ” A540 GPU Adreno เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เป‚เบ›เป€เบŠเบ”เป€เบŠเบต Qualcomm, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก MSM8998 DSI เบชเปเบฒเบฅเบฑเบš Snapdragon 835;
    • เป€เบžเบตเปˆเบกเป„เบ”เป€เบงเบตเบชเปเบฒเบฅเบฑเบšเปเบœเบ‡ LCD Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,
      Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 เปเบฅเบฐ VXT VL050-8048NT-C01;

    • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เป„เบ”เป€เบงเบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เบ–เบญเบ”เบฅเบฐเบซเบฑเบ”
      เบงเบดเบ”เบตเป‚เบญเบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™ Amlogic Meson SoC;

    • เปƒเบ™เป„เบ”เป€เบงเบต v3d (เบชเปเบฒเบฅเบฑเบš Broadcom Video Core V GPU เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™ Raspberry Pi) เบ›เบฒเบเบปเบ” เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ เบเบฒเบ™เบชเบปเปˆเบ‡เป€เบ„เบทเปˆเบญเบ‡เบ„เบญเบกเบžเบตเบงเป€เบ•เบตเป‰;
    • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เป„เบ”เป€เบงเบตเบชเปเบฒเบฅเบฑเบšเปเบ›เป‰เบ™เบžเบดเบก SPI เปเบฅเบฐเปเบ–เบšเบ•เบดเบ”เบ•เบฒเบกเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เปเบšเบšเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบ‚เบญเบ‡เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป‰ Apple MacBook เปเบฅเบฐ MacBookPro;
    • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ— ioctl เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป„เบ”เป€เบงเบต floppy, เปเบฅเบฐเบ•เบปเบงเบ‚เบฑเบšเป€เบญเบ‡เบ–เบทเบเบซเบกเบฒเบเบงเปˆเบฒเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบเบชเบฒ.
      (โ€œเป€เบ”เบฑเบเบเบณเบžเป‰เบฒโ€), เบŠเบถเปˆเบ‡เปเบฒเบเป€เบ–เบดเบ‡เบเบฒเบ™เบขเบธเบ”เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡เบกเบฑเบ™. เป„เบ”เป€เบงเบตเปเบกเปˆเบ™เบเบฑเบ‡เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เปเบเปˆเบ™, เปเบ•เปˆเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™. เป„เบ”เป€เบงเบตเปเบกเปˆเบ™เบ–เบทเบงเปˆเบฒเบฅเป‰เบฒเบชเบฐเป„เบซเบก, เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบŠเบญเบเบซเบฒเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป€เบžเบทเปˆเบญเบ—เบปเบ”เบชเบญเบšเบกเบฑเบ™ - เป„เบ”เป€เบงเบตเบžเบฒเบเบ™เบญเบเบ—เบฑเบ‡เบซเบกเบปเบ”, เบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, เปƒเบŠเป‰เบญเบดเบ™เป€เบ•เบตเป€เบŸเบ” USB.

    • เป€เบžเบตเปˆเบกเปเบฅเป‰เบง เป„เบ”เป€เบงเบต cpufreq เบชเปเบฒเบฅเบฑเบšเบเบฐเบ”เบฒเบ™ Raspberry Pi, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบ„เบงเบฒเบกเบ–เบตเปˆเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง;
    • เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš ARM SoC Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) เปเบฅเบฐ Amlogic G12B (4x Cortex-A73-+ A2), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฐเบ”เบฒเบ™:
      • Purism Librem5,
      • Aspeed BMC,
      • Microsoft Olympus BMC,
      • Kontron SMRC,
      • Novtech Meerkat96 (i.MX7),
      • ST Micro Avenger96,
      • Google Cheza (Qualcomm SDM845),
      • Qualcomm Dragonboard 845c (Qualcomm SDM845),
      • เบเปˆเบญเบ‡เป‚เบ—เบฅเบฐเบžเบฒเบš Hugsun X99 (Rockchip RK3399),
      • Khadas Edge/Edge-V/Captain (Rockchip RK3399),
      • HiHope RZ/G2M,
      • NXP LS1021A-TSN.

เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบกเบนเบ™เบ™เบดเบ—เบดเบŠเบญเบšเปเบงเป€เบชเบฅเบตเบญเบฒเป€เบกเบฅเบดเบเบฒเบฅเบฒเบ•เบดเบ™ เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ kernel เบŸเบฃเบตเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™ 5.3 - Linux-libre 5.3-gnu, เบฅเป‰เบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เป€เบŸเบตเบกเปเบงเปเบฅเบฐเป„เบ”เป€เบงเบตเบ—เบตเปˆเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบŸเบฃเบตเบซเบผเบทเบžเบฒเบเบชเปˆเบงเบ™เบฅเบฐเบซเบฑเบ”, เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เป‚เบ”เบเบœเบนเป‰เบœเบฐเบฅเบดเบ”. เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆ, เบเบฒเบ™เป‚เบซเบผเบ” blob เบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบขเบนเปˆเปƒเบ™เป„เบ”เป€เบงเบต qcom, hdcp drm, allegro-dvt เปเบฅเบฐ meson-vdec.
เบญเบฑเบšเป€เบ”เบ”เบฅเบฐเบซเบฑเบ”เบ—เปเบฒเบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ” blob เปƒเบ™เป„เบ”เป€เบงเบตเปเบฅเบฐเบฅเบฐเบšเบปเบšเบเปˆเบญเบ amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, เป„เบ”เป€เบงเบตเบชเบฝเบ‡เบชเปเบฒเบฅเบฑเบš skylake, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป€เบญเบเบฐเบชเบฒเบ™ microcode.

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

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