ืžื”ื“ื•ืจืช ืœื™ื‘ืช ืœื™ื ื•ืงืก 5.1

ืœืื—ืจ ื—ื•ื“ืฉื™ื™ื ืฉืœ ืคื™ืชื•ื—, ืœื™ื ื•ืก ื˜ื•ืจื•ื•ืืœื“ืก ื”ื’ื™ืฉื• ืฉื—ืจื•ืจ ืœื™ื‘ื” ืœื™ื ื•ืงืก 5.1. ื‘ื™ืŸ ื”ืฉื™ื ื•ื™ื™ื ื”ื‘ื•ืœื˜ื™ื: ืžืžืฉืง ื—ื“ืฉ ืœ-I/O io_uring ืืกื™ื ื›ืจื•ื ื™, ืืคืฉืจื•ืช ืœื”ืฉืชืžืฉ ื‘-NVDIMM ื›-RAM, ืชืžื™ื›ื” ื‘ื–ื™ื›ืจื•ืŸ ื•ื™ืจื˜ื•ืืœื™ ืžืฉื•ืชืฃ ื‘ื ื•ื‘ื•, ืชืžื™ื›ื” ื‘ื ื™ื˜ื•ืจ ืžื“ืจื’ื™ื•ืช ืฉืœ ืžืขืจื›ื•ืช ืงื‘ืฆื™ื ื’ื“ื•ืœื•ืช ืžืื•ื“ ื‘ืืžืฆืขื•ืช fanotify, ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ื“ื—ื™ืกืช Zstd ืจืžื•ืช ื‘-Btrfs, ืžื˜ืคืœ TEO ื—ื“ืฉ ืฉืœ cpuidle, ื”ื˜ืžืขืช ืงืจื™ืื•ืช ืžืขืจื›ืช ืœืคืชืจื•ืŸ ื‘ืขื™ื™ืช 2038, ื”ื™ื›ื•ืœืช ืœืืชื—ืœ ืžื”ืชืงื ื™ ืžื™ืคื•ื™ ื”ืชืงืŸ ืœืœื initramfs, ืžื•ื“ื•ืœ SafeSetID LSM, ืชืžื™ื›ื” ื‘ืชื™ืงื•ื ื™ื ื—ื™ื™ื ืžืฉื•ืœื‘ื™ื.

ื”ืขื™ืงืจื™ ื—ื™ื“ื•ืฉื™ื:

  • ืชืช-ืžืขืจื›ืช ื“ื™ืกืง, ืงืœื˜/ืคืœื˜ ื•ืžืขืจื›ื•ืช ืงื‘ืฆื™ื
    • ื”ื˜ืžื™ืข ืžืžืฉืง ื—ื“ืฉ ืขื‘ื•ืจ I/O ืืกื™ื ื›ืจื•ื ื™ - io_uring, ืืฉืจ ื‘ื•ืœื˜ ื‘ืชืžื™ื›ืชื• ื‘ืกืงืจ I/O ื•ื‘ื™ื›ื•ืœืช ืœืขื‘ื•ื“ ืขื ืื• ื‘ืœื™ ื—ืฆื™ืฆื”. ื”ื‘ื” ื ื–ื›ื™ืจ ืฉืžื ื’ื ื•ืŸ ื”-I/O ื”ืืกื™ื ื›ืจื•ื ื™ ืฉื”ื•ืฆืข ื‘ืขื‘ืจ "aio" ืœื ืชืžืš ื‘-I/O ืžืื’ืจ, ื™ื›ื•ืœ ืœืคืขื•ืœ ืจืง ื‘ืžืฆื‘ O_DIRECT (ืœืœื ื—ืฆื™ืฆื” ื•ืœืขืงื•ืฃ ืืช ื”ืžื˜ืžื•ืŸ), ื”ื™ื” ืœื• ื‘ืขื™ื•ืช ืขื ื ืขื™ืœื” ืขืงื‘ ื”ืžืชื ื” ืœื–ืžื™ื ื•ืช ืžื˜ื ื ืชื•ื ื™ื, ื•ื›ืŸ ื”ืฆื™ื’ ืขืœื•ื™ื•ืช ืชืงื•ืจื” ื’ื“ื•ืœื•ืช ืขืงื‘ ื”ืขืชืงืช ื ืชื•ื ื™ื ื‘ื–ื™ื›ืจื•ืŸ.

      ื‘ืชื•ืš ื”-API
      ืžืคืชื—ื™ io_uring ื ื™ืกื• ืœื‘ื˜ืœ ืืช ื”ื—ืกืจื•ื ื•ืช ืฉืœ ืžืžืฉืง ื”-aio ื”ื™ืฉืŸ. ืขืœ ื™ื“ื™ ื‘ื™ืฆื•ืขื™ื io_uring ืงืจื•ื‘ ืžืื•ื“ ืœ SPDK ื•ื”ื•ื ืžืงื“ื™ื ื‘ืื•ืคืŸ ืžืฉืžืขื•ืชื™ ืืช libaio ื›ืืฉืจ ืขื•ื‘ื“ื™ื ืขื ืกืงืจื™ื ืžื•ืคืขืœื™ื. ื”ื•ื›ื ื” ืกืคืจื™ื™ื” ืœืฉื™ืžื•ืฉ ื‘-io_uring ื‘ื™ื™ืฉื•ืžื™ ืงืฆื” ื”ืคื•ืขืœื™ื ื‘ืžืจื—ื‘ ื”ืžืฉืชืžืฉ ืžืฉื—ืจืจ, ื”ืžืกืคืง ืžืกื’ืจืช ื‘ืจืžื” ื’ื‘ื•ื”ื” ืขืœ ืžืžืฉืง ื”ืœื™ื‘ื”;

    • ื‘ืžื ื’ื ื•ืŸ ืžืขืงื‘ ืื—ืจ ืื™ืจื•ืขื™ื ื‘-FS fanotify() ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ื‘ืžืขืงื‘ ืื—ืจ ืžืฆื‘ื™ ืกื•ืคืจื‘ืœื•ืง ื•ืฉื™ื ื•ื™ ืžื‘ื ื” ืžืœื•ื›ืœืš (ืื™ืจื•ืขื™ื ืฉืœ ื™ืฆื™ืจื”, ืžื—ื™ืงื” ื•ื”ืขื‘ืจื” ืฉืœ ืกืคืจื™ื•ืช). ื”ืชื›ื•ื ื•ืช ื”ืžื•ืฆื’ื•ืช ืขื•ื–ืจื•ืช ืœืคืชื•ืจ ืืช ื‘ืขื™ื•ืช ื”ืžื“ืจื’ื™ื•ืช ื”ืžืชืขื•ืจืจื•ืช ื‘ืขืช ื™ืฆื™ืจืช ืžืขืงื‘ ืฉื™ื ื•ื™ื™ื ืจืงื•ืจืกื™ื‘ื™ื™ื ื‘ืžืขืจื›ื•ืช ืงื‘ืฆื™ื ื’ื“ื•ืœื•ืช ืžืื•ื“ ื‘ืืžืฆืขื•ืช ืžื ื’ื ื•ืŸ inotify (ื‘ืขื‘ืจ ื ื™ืชืŸ ื”ื™ื” ืœืขืงื•ื‘ ืื—ืจ ืฉื™ื ื•ื™ื™ื ืžื˜ื•ืžื˜ืžื™ื ืจืง ื‘ืืžืฆืขื•ืช inotify, ืืš
      ื‘ื™ืฆื•ืขื™ื ื‘ืชื ืื™ื ืฉืœ ืžืขืงื‘ ืจืงื•ืจืกื™ื‘ื™ ืฉืœ ืกืคืจื™ื•ืช ืžืงื•ื ื ื•ืช ื’ื“ื•ืœื•ืช ื”ืฉืื™ืจื• ื”ืจื‘ื” ืžื” ืœืจืฆื•ื™). ื›ืขืช ื ื™ืชืŸ ืœื‘ืฆืข ื ื™ื˜ื•ืจ ื›ื–ื” ื‘ื™ืขื™ืœื•ืช ื‘ืืžืฆืขื•ืช fanotify;

    • ื‘ืžืขืจื›ืช ื”ืงื‘ืฆื™ื Btrfs ื”ื•ืกื™ืฃ ื”ื™ื›ื•ืœืช ืœื”ืชืื™ื ืื™ืฉื™ืช ืืช ืจืžืช ื”ื“ื—ื™ืกื” ืขื‘ื•ืจ ืืœื’ื•ืจื™ืชื zstd, ืžื” ืฉื™ื›ื•ืœ ืœื”ื™ื—ืฉื‘ ื›ืคืฉืจื” ืื•ืคื˜ื™ืžืœื™ืช ื‘ื™ืŸ ื”-lz4 ื”ืžื”ื™ืจ ืืš ื”ืœื ื™ืขื™ืœ ืœื‘ื™ืŸ ื”ื“ื—ื™ืกื” ื”ืื™ื˜ื™ืช ืืš ื”ื˜ื•ื‘ื” xz. ื‘ืื ืœื•ื’ื™ื” ืœืื•ืคืŸ ืฉื‘ื• ื ื™ืชืŸ ื”ื™ื” ื‘ืขื‘ืจ ืœื”ื’ื“ื™ืจ ืืช ืจืžืช ื”ื“ื—ื™ืกื” ื‘ืขืช ืฉื™ืžื•ืฉ ื‘-zlib, ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืืคืฉืจื•ืช ื”ื”ืจื›ื‘ื” "-o compress=zstd:level" ืขื‘ื•ืจ zstd. ื‘ืžื”ืœืš ื”ื‘ื“ื™ืงื”, ื”ืจืžื” ื”ืจืืฉื•ื ื” ื”ืžื™ื ื™ืžืœื™ืช ืกื™ืคืงื” ื“ื—ื™ืกืช ื ืชื•ื ื™ื ืคื™ 2.658 ืขื ืžื”ื™ืจื•ืช ื“ื—ื™ืกื” ืฉืœ 438.47 MB/s, ืžื”ื™ืจื•ืช ื‘ื™ื˜ื•ืœ ื“ื—ื™ืกื” ืฉืœ 910.51 MB/s ื•ืฆืจื™ื›ืช ื–ื™ื›ืจื•ืŸ ืฉืœ 780 MB, ื•ื”ืจืžื” ื”ืžืงืกื™ืžืœื™ืช 15 ืกื™ืคืงื” ืคื™ 3.126, ืืš ืขื ื“ื—ื™ืกื” ืžื”ื™ืจื•ืช ืฉืœ 37.30 MB/s. ืคืจื™ืงืช 878.84 MB/s ื•ืฆืจื™ื›ืช ื–ื™ื›ืจื•ืŸ 2547 MB;
    • ื ื•ืกืฃ ื”ื™ื›ื•ืœืช ืœืืชื—ืœ ืžืžืขืจื›ืช ืงื‘ืฆื™ื ื”ืžืžื•ืงืžืช ื‘ืžื›ืฉื™ืจ ืžื™ืคื•ื™ ื”ืžื›ืฉื™ืจ, ืžื‘ืœื™ ืœื”ืฉืชืžืฉ ื‘-initramfs. ื”ื—ืœ ื‘ืžื”ื“ื•ืจืช ื”ืœื™ื‘ื” ื”ื ื•ื›ื—ื™ืช, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื™ืฉื™ืจื•ืช ื‘ื”ืชืงื ื™ ืžื™ืคื•ื™ ื”ืชืงืŸ ื‘ืžื”ืœืš ืชื”ืœื™ืš ื”ืืชื—ื•ืœ, ืœืžืฉืœ, ื›ืžื—ื™ืฆื” ืขื ืžืขืจื›ืช ืงื‘ืฆื™ ื”ืฉื•ืจืฉ. ื”ืžื—ื™ืฆื” ืžื•ื’ื“ืจืช ื‘ืืžืฆืขื•ืช ืคืจืžื˜ืจ ื”ืืชื—ื•ืœ "dm-mod.create". ืžื•ื“ื•ืœื™ ืžื™ืคื•ื™ ื”ืชืงื ื™ื ื”ืžื•ืชืจื™ื ืœื˜ืขื™ื ื” ื›ื•ืœืœื™ื: "ืงืจื™ืคื˜ื”", "ืขื™ื›ื•ื‘", "ืœื™ื ื™ืืจื™", "ืžืงื•ืจ ืชืžื•ื ืช ืžืฆื‘" ื•"ืืžืช";
    • ื”ื“ื’ืœ F2FS_NOCOW_FL ื”ืชื•ื•ืกืฃ ืœืžืขืจื›ืช ื”ืงื‘ืฆื™ื F2FS ื‘ื›ื™ื•ื•ืŸ ืฉืœ ื›ื•ื ื ื™ Flash, ืžื” ืฉืžืืคืฉืจ ืœืš ืœื‘ื˜ืœ ืืช ืžืฆื‘ ื”ืขืชืงื” ื‘ื›ืชื™ื‘ื” ืขื‘ื•ืจ ืงื•ื‘ืฅ ื ืชื•ืŸ;
    • ืžืขืจื›ืช ื”ืงื‘ืฆื™ื ื”ื•ืกืจื” ืžื”ืงืจื ืœ ืืงืกื•ืคื™ื, ืฉื”ื•ื ื’ืจืกื” ืฉืœ ext2, ื”ืžื•ืชืืžืช ืœืขื‘ื•ื“ื” ืขื ืื—ืกื•ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื ื‘-OSD (Object-based Storage Device). ื”ื•ืกืจื” ื’ื ื”ืชืžื™ื›ื” ื‘ืคืจื•ื˜ื•ืงื•ืœ SCSI ืขื‘ื•ืจ ื”ืชืงื ื™ ืื—ืกื•ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื ื›ืืœื”;
  • ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื•ืื‘ื˜ื—ื”
    • ื ื•ืกืคื” ืืคืฉืจื•ืช PR_SPEC_DISABLE_NOEXEC ืœ-prctl() ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœ ื”ื•ืจืื•ืช ืขื‘ื•ืจ ื”ืชื”ืœื™ืš ืฉื ื‘ื—ืจ. ืืคืฉืจื•ืช ื—ื“ืฉื” ืžืืคืฉืจืช ืœืš ืœื‘ื˜ืœ ื‘ืื•ืคืŸ ืกืœืงื˜ื™ื‘ื™ ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืขื‘ื•ืจ ืชื”ืœื™ื›ื™ื ืฉืขืœื•ืœื™ื ืœื”ื™ื•ืช ืžื•ืชืงืคื™ื ืขืœ ื™ื“ื™ ืžืชืงืคืช Spectre. ื”ื ืขื™ืœื” ื ืžืฉื›ืช ืขื“ ื”ืงืจื™ืื” ื”ืจืืฉื•ื ื” ืืœ exec();
    • ืžื•ื“ื•ืœ LSM ืžื™ื•ืฉื SafeSetID, ื”ืžืืคืฉืจ ืœืฉื™ืจื•ืชื™ ืžืขืจื›ืช ืœื ื”ืœ ืžืฉืชืžืฉื™ื ื‘ืฆื•ืจื” ืžืื•ื‘ื˜ื—ืช ืœืœื ื”ืกืœืžื” ืฉืœ ื”ืจืฉืื•ืช (CAP_SETUID) ื•ืœืœื ื”ืฉื’ืช ื”ืจืฉืื•ืช ืฉื•ืจืฉ. ื”ืจืฉืื•ืช ืžื•ืงืฆื•ืช ืขืœ ื™ื“ื™ ื”ื’ื“ืจืช ื›ืœืœื™ื ื‘-securityfs ื”ืžื‘ื•ืกืกื™ื ืขืœ ืจืฉื™ืžื” ืœื‘ื ื” ืฉืœ ื›ืจื™ื›ื•ืช ื—ื•ืงื™ื•ืช (ื‘ืฆื•ืจื” "UID1:UID2");
    • ื ื•ืกืคื• ืฉื™ื ื•ื™ื™ื ื‘ืจืžื” ื ืžื•ื›ื” ื”ื ื“ืจืฉื™ื ืœื˜ืขื™ื ื” ืžื‘ื•ืกืกืช ืžื—ืกื ื™ืช ืฉืœ ืžื•ื“ื•ืœื™ ืื‘ื˜ื—ื” (LSMs). ื”ืฆื™ื’ ืืช ืืคืฉืจื•ืช ื”ืืชื—ื•ืœ ืฉืœ ืœื™ื‘ืช "lsm" ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ืื™ืœื• ืžื•ื“ื•ืœื™ื ื ื˜ืขื ื™ื ื•ื‘ืื™ื–ื” ืกื“ืจ;
    • ืชืžื™ื›ื” ื‘ืžืจื—ื‘ื™ ืฉืžื•ืช ืงื‘ืฆื™ื ื ื•ืกืคื” ืœืชืช-ืžืขืจื›ืช ื”ื‘ื™ืงื•ืจืช;
    • ืžื•ึผืจื—ึธื‘ ื”ื™ื›ื•ืœื•ืช ืฉืœ ืชื•ืกืฃ GCC structleak, ื”ืžืืคืฉืจ ืœืš ืœื—ืกื•ื ื“ืœื™ืคื•ืช ืคื•ื˜ื ืฆื™ืืœื™ื•ืช ืฉืœ ืชื•ื›ืŸ ื–ื™ื›ืจื•ืŸ. ืžืกื•ืคืง ืืชื—ื•ืœ ืฉืœ ื›ืœ ื”ืžืฉืชื ื™ื ื”ืžืฉืžืฉื™ื ื‘ืงื•ื“ ื‘ืืžืฆืขื•ืช ื’ื™ืฉื” ืœื”ืคื ื™ื” ื‘ืขืจื™ืžื”;
  • ืชืช ืžืขืจื›ืช ืจืฉืช
    • ืขื‘ื•ืจ ืฉืงืขื™ื ืžื•ื˜ืžืข ืืคืฉืจื•ืช ื—ื“ืฉื” "SO_BINDTOIFINDEX" ื“ื•ืžื” ืœ
      "SO_BINDTODEVICE", ืืš ืœื•ืงื— ื›ืืจื’ื•ืžื ื˜ ืืช ืžืกืคืจ ื”ืื™ื ื“ืงืก ืฉืœ ืžืžืฉืง ื”ืจืฉืช ื‘ืžืงื•ื ืืช ืฉื ื”ืžืžืฉืง;

    • ืžื—ืกื ื™ืช mac80211 ื”ื•ืกื™ืคื” ืืช ื”ื™ื›ื•ืœืช ืœื”ืงืฆื•ืช ืžืกืคืจ BSSIDs (ื›ืชื•ื‘ื•ืช MAC) ืœืžื›ืฉื™ืจ ืื—ื“. ื›ื—ืœืง ืžืคืจื•ื™ืงื˜ ืœืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ื‘ื™ืฆื•ืขื™ WiFi, ืขืจื™ืžืช ื”-mac80211 ื”ื•ืกื™ืคื” ื—ืฉื‘ื•ื ืื•ืช ื–ืžืŸ ืื•ื•ื™ืจ ื•ื™ื›ื•ืœืช ืœื—ืœืง ื–ืžืŸ ืื•ื•ื™ืจ ื‘ื™ืŸ ืžืกืคืจ ืชื—ื ื•ืช (ื‘ื”ืคืขืœื” ื‘ืžืฆื‘ ื ืงื•ื“ืช ื’ื™ืฉื”, ื”ืงืฆืืช ืคื—ื•ืช ื–ืžืŸ ืฉื™ื“ื•ืจ ืœืชื—ื ื•ืช ืืœื—ื•ื˜ื™ื•ืช ืื™ื˜ื™ื•ืช, ื‘ืžืงื•ื ืœื—ืœืง ืืช ื”ื–ืžืŸ ื‘ืื•ืคืŸ ืฉื•ื•ื” ื‘ื™ืŸ ื›ืœ ื”ืชื—ื ื•ืช ืชื—ื ื•ืช);
    • ืžื ื’ื ื•ืŸ ื ื•ืกืฃ"ื‘ืจื™ืื•ืช devlink", ื”ืžืกืคืง ื”ืชืจืื•ืช ื›ืืฉืจ ืžืชืจื—ืฉื•ืช ื‘ืขื™ื•ืช ื‘ืžืžืฉืง ื”ืจืฉืช;
  • ืฉื™ืจื•ืชื™ ื–ื™ื›ืจื•ืŸ ื•ืžืขืจื›ืช
    • ืžื•ื˜ืžืข ืžืกื™ืจืช ืื•ืช ืžืื•ื‘ื˜ื—ืช ื”ืžืืคืฉืจืช ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘-PID. ืœื“ื•ื’ืžื”, ื›ืืฉืจ ืงื•ืจืื™ื ืœื”ืจื•ื’ ื‘ืขื‘ืจ, ื™ื›ื•ืœ ืœื”ื™ื•ื•ืฆืจ ืžืฆื‘ ืฉื‘ื•, ืžื™ื“ ืœืื—ืจ ืฉืœื™ื—ืช ื”ืื•ืช, ื”-PID ืฉืœ ื”ืžื˜ืจื” ื™ื›ื•ืœ ืœื”ืฉืชื—ืจืจ ืขืงื‘ ืกื™ื•ื ืชื”ืœื™ืš ื•ืชืคื•ืก ืขืœ ื™ื“ื™ ืชื”ืœื™ืš ืื—ืจ, ื•ื”ืื•ืช ื™ื•ืขื‘ืจ ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืœืชื”ืœื™ืš ืื—ืจ. ื›ื“ื™ ืœื‘ื˜ืœ ืžืฆื‘ื™ื ื›ืืœื”, ื ื•ืกืคื” ืงืจื™ืืช ืžืขืจื›ืช ื—ื“ืฉื” pidfd_send_signal, ื”ืžืฉืชืžืฉืช ื‘ืชื™ืื•ืจื™ ืงื‘ืฆื™ื ืž-/proc/pid ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืงืฉื™ืจืช ืชื”ืœื™ืš ื™ืฆื™ื‘ื”. ื’ื ืื ื ืขืฉื” ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘-PID ื‘ืžื”ืœืš ืขื™ื‘ื•ื“ ืฉื™ื—ื•ืช ื”ืžืขืจื›ืช, ืžืชืืจ ื”ืงื•ื‘ืฅ ืœื ื™ืฉืชื ื” ื•ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ื‘ื‘ื˜ื—ื” ื›ื“ื™ ืœืฉืœื•ื— ืื•ืช ืœืชื”ืœื™ืš;
    • ื ื•ืกืฃ ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ื”ืชืงื ื™ ื–ื™ื›ืจื•ืŸ ืงื‘ื•ืขื™ื (ื–ื™ื›ืจื•ืŸ ืงื‘ื•ืข, ืœืžืฉืœ NVDIMMs) ื›-RAM. ืขื“ ื›ื”, ื”ืœื™ื‘ื” ืชืžื›ื” ื‘ื”ืชืงื ื™ื ื›ื’ื•ืŸ ื”ืชืงื ื™ ืื—ืกื•ืŸ, ืืš ื›ืขืช ื”ื ื™ื›ื•ืœื™ื ืœืฉืžืฉ ื’ื ื›-RAM ื ื•ืกืฃ. ื”ืชื›ื•ื ื” ืžื™ื•ืฉืžืช ื›ืžืขื ื” ืœืจืฆื•ื ื•ืชื™ื”ื ืฉืœ ืžืฉืชืžืฉื™ื ืฉืžื•ื›ื ื™ื ืœื”ืฉืœื™ื ืขื ืคื™ื’ื•ืจ ื‘ื™ืฆื•ืขื™ื ื•ืจื•ืฆื™ื ืœื”ืฉืชืžืฉ ื‘-API ื”ืžืงื•ืจื™ ืœื ื™ื”ื•ืœ ื–ื™ื›ืจื•ืŸ ืœื™ื‘ืช ืœื™ื ื•ืงืก ื‘ืžืงื•ื ืœื”ืฉืชืžืฉ ื‘ืžืขืจื›ื•ืช ืงื™ื™ืžื•ืช ืœื”ืงืฆืืช ื–ื™ื›ืจื•ืŸ ืžืจื—ื‘ ืžืฉืชืžืฉ ื”ืคื•ืขืœื•ืช ืขืœ ื’ื‘ื™ mmap ืขื‘ื•ืจ ืงื•ื‘ืฅ ื”ื“ืืงืก. ;
    • ื ื•ืกืฃ ืžื˜ืคืœ ืกืจืง ื—ื“ืฉ ืฉืœ ืžืขื‘ื“ (cpuidle, ืžื—ืœื™ื˜ ืžืชื™ ื ื™ืชืŸ ืœื”ื›ื ื™ืก ืืช ื”-CPU ืœืžืฆื‘ื™ ื—ื™ืกื›ื•ืŸ ืขืžื•ืงื™ื ื‘ื—ืฉืžืœ; ื›ื›ืœ ืฉื”ืžืฆื‘ ืขืžื•ืง ื™ื•ืชืจ, ื›ืš ื”ื—ื™ืกื›ื•ืŸ ื’ื“ื•ืœ ื™ื•ืชืจ, ืืš ื’ื ืœื•ืงื— ื™ื•ืชืจ ื–ืžืŸ ืœืฆืืช ืžื”ืžืฆื‘) - TEO (Timer Events Oriented Governor ). ืขื“ ืขื›ืฉื™ื•, ื”ื•ืฆืขื• ืฉื ื™ ืžื˜ืคืœื™ cpuidle - "ืชืคืจื™ื˜" ื•"ืกื•ืœื", ืฉื•ื ื™ื ื‘ื”ื™ื•ืจื™ืกื˜ื™ืงื”. ืœืžื˜ืคืœ "ืชืคืจื™ื˜" ื™ืฉ ื‘ืขื™ื•ืช ื‘ืงื‘ืœืช ื”ื—ืœื˜ื•ืช ื”ื™ื•ืจื™ืกื˜ื™ื•ืช, ื›ื“ื™ ืœื‘ื˜ืœ ืื•ืชืŸ ื”ื•ื—ืœื˜ ืœื”ื›ื™ืŸ ืžื˜ืคืœ ื—ื“ืฉ. TEO ืžืžื•ืงื ื›ื—ืœื•ืคื” ืœืžื˜ืคืœ ื‘"ืชืคืจื™ื˜", ื”ืžืืคืฉืจ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ื™ื•ืชืจ ืชื•ืš ืฉืžื™ืจื” ืขืœ ืื•ืชื” ืจืžืช ืฆืจื™ื›ืช ื—ืฉืžืœ.
      ืืชื” ื™ื›ื•ืœ ืœื”ืคืขื™ืœ ืืช ื”ืžื˜ืคืœ ื”ื—ื“ืฉ ื‘ืืžืฆืขื•ืช ืคืจืžื˜ืจ ื”ืืชื—ื•ืœ "cpuidle.governor=teo";

    • ื›ื—ืœืง ืžื”ืขื‘ื•ื“ื” ืœื—ื™ืกื•ืœ ื‘ืขื™ื•ืช ืฉืœ 2038, ื”ื ื’ืจืžืช ืขืœ ื™ื“ื™ ื’ืœื™ืฉื” ืžืกื•ื’ 32 ืกื™ื‘ื™ื•ืช time_t, ื›ื•ืœืœืช ืงืจื™ืื•ืช ืžืขืจื›ืช ื”ืžืฆื™ืขื•ืช ืžื•ื ื™ ื–ืžืŸ ืฉืœ 32 ืกื™ื‘ื™ื•ืช ืขื‘ื•ืจ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช 64 ืกื™ื‘ื™ื•ืช. ื›ืชื•ืฆืื” ืžื›ืš, ื›ืขืช ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžื‘ื ื” time_t ืฉืœ 64 ืกื™ื‘ื™ื•ืช ื‘ื›ืœ ื”ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช. ืฉื™ื ื•ื™ื™ื ื“ื•ืžื™ื ื™ื•ืฉืžื• ื’ื ื‘ืชืช-ืžืขืจื›ืช ื”ืจืฉืช ืขื‘ื•ืจ ืืคืฉืจื•ื™ื•ืช ื—ื•ืชื ืฉืงืขื™ ืจืฉืช;
    • ืœืชื•ืš ืžืขืจื›ืช ื”ืชื™ืงื•ืŸ ื”ื—ื ืขื‘ื•ืจ ื”ืœื™ื‘ื” (ืชื™ืงื•ืŸ ื—ื™) ื”ื•ืกื™ืฃ ืชื›ื•ื ืช "ื”ื—ืœืคื” ืื˜ื•ืžื™ืช" ืœื”ื—ืœื” ืื˜ื•ืžื™ืช ืฉืœ ืกื“ืจื” ืฉืœ ืฉื™ื ื•ื™ื™ื ืขืœ ืคื•ื ืงืฆื™ื” ืื—ืช. ืชื›ื•ื ื” ื–ื• ืžืืคืฉืจืช ืœืš ืœื”ืคื™ืฅ ืชื™ืงื•ื ื™ ืกื™ื›ื•ื ื”ืžื›ืกื™ื ืžืกืคืจ ืฉื™ื ื•ื™ื™ื ื‘ื•-ื–ืžื ื™ืช, ื‘ืžืงื•ื ืชื”ืœื™ืš ืฉืœ ื™ื™ืฉื•ื ืฉืœื‘ ืื—ืจ ืฉืœื‘ ืฉืœ ืชื™ืงื•ื ื™ื ื—ื™ื™ื ื‘ืกื“ืจ ืžื•ื’ื“ืจ ื‘ื”ื—ืœื˜, ืฉื“ื™ ืงืฉื” ืœืชื—ื–ืง ืื•ืชื•. ื‘ืขื•ื“ ืฉืงื•ื“ื ืœื›ืŸ ื›ืœ ืฉื™ื ื•ื™ ืขื•ืงื‘ ื”ื™ื” ืฆืจื™ืš ืœื”ืชื‘ืกืก ืขืœ ืžืฆื‘ ื”ืคื•ื ืงืฆื™ื” ืœืื—ืจ ื”ืฉื™ื ื•ื™ ื”ืื—ืจื•ืŸ, ื›ืขืช ื ื™ืชืŸ ืœื”ืคื™ืฅ ืžืกืคืจ ืฉื™ื ื•ื™ื™ื ื”ืงืฉื•ืจื™ื ืœืžืฆื‘ ื”ืชื—ืœืชื™ ืื—ื“ ื‘ื•-ื–ืžื ื™ืช (ื›ืœื•ืžืจ, ืžืชื—ื–ืงื™ื ื™ื›ื•ืœื™ื ืœืฉืžื•ืจ ืชื™ืงื•ืŸ ืžืื•ื—ื“ ืื—ื“ ื‘ื™ื—ืก ืœื’ืจืขื™ืŸ ื”ื‘ืกื™ืก ื‘ืžืงื•ื ื–ืืช. ืฉืœ ืฉืจืฉืจืช ืฉืœ ื˜ืœืื™ื ื”ืชืœื•ื™ื™ื ื–ื” ื‘ื–ื”);
    • ื”ื•ื›ืจื– ืชืžื™ื›ื” ืฉื”ื•ืฆืื” ืžืฉื™ืžื•ืฉ ื‘ืคื•ืจืžื˜ ืงื•ื‘ืฅ ื”ื”ืคืขืœื” a.out ื•
      ื ืžื—ืง ืงื•ื“ ืœื”ืคืงืช ืงื‘ืฆื™ ืœื™ื‘ื” ื‘ืคื•ืจืžื˜ a.out, ืฉื ืžืฆื ื‘ืžืฆื‘ ื ื˜ื•ืฉ. ืคื•ืจืžื˜ a.out ืœื ื”ื™ื” ื‘ืฉื™ืžื•ืฉ ื‘ืžืขืจื›ื•ืช ืœื™ื ื•ืงืก ื‘ืžืฉืš ื–ืžืŸ ืจื‘, ื•ื”ื™ืฆื™ืจื” ืฉืœ ืงื‘ืฆื™ a.out ืœื ื ืชืžื›ื” ืžื–ืžืŸ ืขืœ ื™ื“ื™ ื›ืœื™ื ืžื•ื“ืจื ื™ื™ื ื‘ืชืฆื•ืจื•ืช ื‘ืจื™ืจืช ืžื—ื“ืœ ืฉืœ ืœื™ื ื•ืงืก. ื‘ื ื•ืกืฃ, ื ื™ืชืŸ ืœื™ื™ืฉื ืืช ื”ื˜ื•ืขืŸ ืขื‘ื•ืจ ืงื‘ืฆื™ a.out ื›ื•ืœื• ื‘ื—ืœืœ ื”ืžืฉืชืžืฉ;

    • ื”ื™ื›ื•ืœืช ืœื–ื”ื•ืช ื•ืœื”ืกื™ืจ ืงื•ื“ ืฉืื™ื ื• ื‘ืฉื™ืžื•ืฉ ื ื•ืกืคื” ืœืžื ื’ื ื•ืŸ ื”ืื™ืžื•ืช ืฉืœ ืชื•ื›ื ื™ืช BPF. ื”ืงืจื ืœ ื›ื•ืœืœ ื’ื ื˜ืœืื™ื ืขื ืชืžื™ื›ื” ื‘-Spinlock ืขื‘ื•ืจ ืชืช-ื”ืžืขืจื›ืช BPF, ื”ืžืกืคืงื™ื ื™ื›ื•ืœื•ืช ื ื•ืกืคื•ืช ืœื ื™ื”ื•ืœ ื‘ื™ืฆื•ืข ืžืงื‘ื™ืœ ืฉืœ ืชื•ื›ื ื™ื•ืช BPF;
  • ะžะฑะพั€ัƒะดะพะฒะฐะฝะธะต
    • ื‘ื ื”ื’ ื ื•ื‘ื• ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ื‘ื ื™ื”ื•ืœ ื–ื™ื›ืจื•ืŸ ื”ื˜ืจื•ื’ื ื™, ื”ืžืืคืฉืจืช ืœืžืขื‘ื“ ื•ืœ-GPU ืœื’ืฉืช ืœืื–ื•ืจื™ ื–ื™ื›ืจื•ืŸ ืžืกื•ื ื›ืจื ื™ื ื ืคื•ืฆื™ื. ืžืขืจื›ืช ื”ื–ื™ื›ืจื•ืŸ ื”ื•ื•ื™ืจื˜ื•ืืœื™ ื”ืžืฉื•ืชืฃ (SVM, Shared Virtual Memory) ืžื™ื•ืฉืžืช ืขืœ ื‘ืกื™ืก ืชืช-ื”ืžืขืจื›ืช HMM (Heterogeneous Memory Management), ื”ืžืืคืฉืจืช ืฉื™ืžื•ืฉ ื‘ืžื›ืฉื™ืจื™ื ืขื ื™ื—ื™ื“ื•ืช ื ื™ื”ื•ืœ ื–ื™ื›ืจื•ืŸ ืžืฉืœื”ื (MMU, Memory Management Unit), ื”ื™ื›ื•ืœื•ืช ืœื’ืฉืช ื–ื™ื›ืจื•ืŸ ืจืืฉื™. ื‘ืคืจื˜, ื‘ืืžืฆืขื•ืช HMM, ืืชื” ื™ื›ื•ืœ ืœืืจื’ืŸ ืžืจื—ื‘ ื›ืชื•ื‘ื•ืช ืžืฉื•ืชืฃ ื‘ื™ืŸ ื”-GPU ื•ื”-CPU, ืฉื‘ื• ื”-GPU ื™ื›ื•ืœ ืœื’ืฉืช ืœื–ื™ื›ืจื•ืŸ ื”ืจืืฉื™ ืฉืœ ื”ืชื”ืœื™ืš. ืชืžื™ื›ืช SVM ืžื•ืคืขืœืช ื›ืจื’ืข ืจืง ืขื‘ื•ืจ GPUs ืฉืœ ืžืฉืคื—ืช Pascal, ืื ื›ื™ ืชืžื™ื›ื” ืžืกื•ืคืงืช ื’ื ืขื‘ื•ืจ Volta ื•- Turing GPUs. ื™ืชืจ ืขืœ ื›ืŸ, ื‘ื ื•ื‘ื• ื”ื•ืกื™ืฃ ioctl ื—ื“ืฉ ืœืฉืœื•ื˜ ื‘ืžืขื‘ืจ ืฉืœ ืื–ื•ืจื™ ื–ื™ื›ืจื•ืŸ ืชื”ืœื™ืš ืœื–ื™ื›ืจื•ืŸ GPU;
    • ื‘ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ Intel DRM ืขื‘ื•ืจ GPU Skylake ื•ืื™ืœืš (gen9+) ื›ืœื•ืœ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืžืฆื‘ ืžื”ื™ืจ ืืชื—ื•ืœ ืžื‘ื˜ืœ ืฉื™ื ื•ื™ื™ื ืžื™ื•ืชืจื™ื ื‘ืžืฆื‘ ื‘ืžื”ืœืš ื”ืืชื—ื•ืœ. ื ื•ืกืฃ ะฝะพะฒั‹ะต ืžื–ื”ื™ ืžื›ืฉื™ืจื™ื ื”ืžื‘ื•ืกืกื™ื ืขืœ ืžื™ืงืจื•-ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช Coffelake ื•-Ice Lake. ืขื‘ื•ืจ ืฆ'ื™ืคืก ืงื•ืคืœื™ื™ืง ื”ื•ืกื™ืฃ ืชืžื™ื›ืช GVT (ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืฉืœ GPU). ืขื‘ื•ืจ GPUs ื•ื™ืจื˜ื•ืืœื™ื™ื ืžื•ื˜ืžืข ืชืžื™ื›ื” ื‘-VFIO EDID. ืขื‘ื•ืจ ืœื•ื—ื•ืช LCD MIPI/DSI ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ื‘ืจื›ื™ื‘ื™ ACPI/PMIC. ืžื•ื˜ืžืข ืžืฆื‘ื™ ื˜ืœื•ื•ื™ื–ื™ื” ื—ื“ืฉื™ื 1080p30/50/60 ื˜ืœื•ื•ื™ื–ื™ื”;
    • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ Vega10/20 BACO GPU ืœืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ amdgpu. ื”ื˜ืžืขืช ื ื™ื”ื•ืœ ืฆืจื™ื›ืช ื—ืฉืžืœ Vega 10/20 ื•ื˜ื‘ืœืื•ืช ื‘ืงืจืช ืงื™ืจื•ืจ Vega 10. ื ื•ืกืคื• ืžื–ื”ื™ ืžื›ืฉื™ืจื™ PCI ื—ื“ืฉื™ื ืขื‘ื•ืจ ืžืขื‘ื“ื™ Picasso GPU. ื ื•ืกืฃ ืžืžืฉืง ืœื ื™ื”ื•ืœ ืชืœื•ืช ื ื™ืชื ื•ืช ืœืชื–ืžื•ืŸ ื›ื“ื™ ืœืžื ื•ืข ืžื‘ื•ื™ ืกืชื•ื;
    • ื ื•ืกืฃ ื“ืจื™ื™ื‘ืจ DRM/KMS ืขื‘ื•ืจ ืžืื™ืฆื™ ืžืกืš ARM ืงื•ืžื“ื” (ืžืืœื™ D71);
    • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ ืœื•ื—ื•ืช ื”ืžืกืš Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 ื•- Kingdisplay kd097d04;
    • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘-Rockchip RK3328, Cirrus Logic CS4341 ื•-CS35L36, MediaTek MT6358, Qualcomm WCD9335 ื•- Ingenic JZ4725B codec ืื•ื“ื™ื•, ื›ืžื• ื’ื ืคืœื˜ืคื•ืจืžืช ืื•ื“ื™ื• Mediatek MT8183;
    • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื‘ืงืจื™ NAND Flash STMicroelectronics FMC2, Amlogic Meson;
    • ื ื•ืกืคื” ืชืžื™ื›ืช ืžืื™ืฅ ืขื‘ื•ืจ ืžืขืจื›ื•ืช ื—ื•ืžืจื” ืฉืœ Habana AI;
    • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื‘ืงืจื™ NXP ENETC gigabit Ethernet ื•ืžืžืฉืงื™ื ืืœื—ื•ื˜ื™ื™ื ืฉืœ MediaTek MT7603E (PCIe) ื•-MT76x8.

ื‘ืžืงื‘ื™ืœ, ืงืจืŸ ื”ืชื•ื›ื ื” ื”ื—ื•ืคืฉื™ืช ืฉืœ ืืžืจื™ืงื” ื”ืœื˜ื™ื ื™ืช ื ื•ืฆืจ
ืืคืฉืจื•ืช ืœื™ื‘ื” ื—ื™ื ืžื™ืช ืœื—ืœื•ื˜ื™ืŸ 5.1 - Linux-libere 5.1-gnu, ืžื ื•ืงื” ืžืจื›ื™ื‘ื™ ืงื•ืฉื—ื” ื•ืžื ื”ืœื™ ื”ืชืงื ื™ื ื”ืžื›ื™ืœื™ื ืจื›ื™ื‘ื™ื ืื• ืงื˜ืขื™ ืงื•ื“ ืฉืื™ื ื ื—ื•ืคืฉื™ื™ื, ืฉื”ื™ืงืคื ืžื•ื’ื‘ืœ ืขืœ ื™ื“ื™ ื”ื™ืฆืจืŸ. ื‘ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื”, ื˜ืขื™ื ืช ื›ืชืžื™ื ืžื•ืฉื‘ืชืช ื‘ืžื ื”ืœื™ ื”ืชืงื ื™ื ืฉืœ mt7603 ื•-goya. ืงื•ื“ ื ื™ืงื•ื™ ื›ืชืžื™ื ืžืขื•ื“ื›ืŸ ื‘ืžื ื”ืœื™ ื”ืชืงื ื™ื ื•ืชืชื™-ืžืขืจื›ื•ืช wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk ื•-touchscreen_dmi. ื ื™ืงื•ื™ ื›ืชืžื™ื ื‘ืžื˜ืขืŸ ื”ืงื•ืฉื—ื” lantiq xrx200 ื”ื•ืคืกืง ืขืงื‘ ื”ืกืจืชื• ืžื”ืงืจื ืœ.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”