Π‘Π»Π΅Π΄ Π΄Π²Π΅ ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Linux 5.12. Π‘ΡΠ΅Π΄ Π½Π°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ°: ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·ΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² Btrfs, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΌΠ°ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΏΡΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ARM Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, ΡΠ΅ΠΆΠΈΠΌ "Π½Π΅ΡΡΡΠΏΠ΅Π»ΠΈΠ²Π°" Π·Π°ΠΏΠΈΡ Π² NFS, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ LOOKUP_CACHED Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΡΠΈΡΠ° ΠΎΡ ΠΊΠ΅ΡΠ°, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² BPF, ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ KFENCE Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΡΠ°Π±ΠΎΡΠ° Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ Π² ΡΠ΄ΡΠΎΡΠΎ Ρ ΡΠ΅ΠΆΠΈΠΌ NAPI Π·Π° polling Π² ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ, Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ ACRN, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π·Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° ΡΡΡΠΈΠ½Π³Π° Π² ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° LTO ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Ρ Clang.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ° ΠΏΡΠΈΠ΅ΡΠΈ 14170 (Π² ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ 15480) ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ ΠΎΡ 1946 (1991) ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΏΠ°ΡΠ° Π΅ 38 ΠΠ± (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΠ±Ρ Π²Π°Π½Π°Ρ Π° 12102 (12090) ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° 538599 (868025) ΡΠ΅Π΄Π° ΠΊΠΎΠ΄, ΠΈΠ·ΡΡΠΈΡΠΈ ΡΠ° 333377 (261456) ΡΠ΅Π΄Π°). ΠΠΊΠΎΠ»ΠΎ 43% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ Π² 5.12 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 17% ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠ°ΡΠ°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, 12% Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ, 5% Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ 4% Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ:
- ΠΠΈΡΠΊΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Ρ
ΠΎΠ΄/ΠΈΠ·Ρ
ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΌΠ°ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ (ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ ΡΡΠΆΠ΄ Π΄ΡΠ» Ρ Π΄ΡΡΠ³ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π² ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°). ΠΠ°ΠΏΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ FAT, ext4 ΠΈ XFS. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠΎΡΡΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ°ΠΏΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π½Π° ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠΈ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ systemd-homed, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Ρ ΡΠ²ΠΎΠΈΡΠ΅ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ, ΡΠΈΡΡΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π΅ ΡΡΠ²ΠΏΠ°Π΄Π°. ΠΡΡΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ Π²ΡΠ½ΡΠ΅Π½ Ρ ΠΎΡΡ, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
- Π ΡΠ΄ΡΠΎΡΠΎ ΡΠ° ΠΏΡΠΈΠ΅ΡΠΈ ΠΏΠ°ΡΡΠΎΠ²Π΅ LOOKUP_CACHED, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡ ΠΏΡΡ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅, ΡΠ°ΠΌΠΎ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ Π² ΠΊΠ΅ΡΠ° Π΄Π°Π½Π½ΠΈ. Π Π΅ΠΆΠΈΠΌΡΡ LOOKUP_CACHED ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΏΡΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° openat2() ΡΡΠ΅Π· ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ»Π°Π³ RESOLVE_CACHED, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΠ°ΠΌΠΎ ΠΎΡ ΠΊΠ΅ΡΠ°, Π° Π°ΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΡΡΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ, ΡΠ΅ Π²ΡΡΡΠ° Π³ΡΠ΅ΡΠΊΠ° EAGAIN.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Btrfs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·ΠΎΠ½ΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° (ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° ΡΠ²ΡΡΠ΄ΠΈ Π΄ΠΈΡΠΊΠΎΠ²Π΅ ΠΈΠ»ΠΈ NVMe SSD, ΡΠΈΠΉΡΠΎ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅Ρ Π΅ ΡΠ°Π·Π±ΠΈΡ Π½Π° Π·ΠΎΠ½ΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ Π³ΡΡΠΏΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΠΎΡΠΈ, Π² ΠΊΠΎΠΈΡΠΎ Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»Π°ΡΠ° Π³ΡΡΠΏΠ° Π±Π»ΠΎΠΊΠΎΠ²Π΅). Π ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΊΠΎΠΈΡΠΎ Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΠΎΡ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° (subpage).
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° F2FS Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌ ΠΈ Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π·Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° LZ4. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΎΠΏΡΠΈΡ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ checkpoint_merge.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π½ΠΎΠ²Π° ioctl-ΠΊΠΎΠΌΠ°Π½Π΄Π° FS_IOC_READ_VERITY_METADATA Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π·Π°ΡΠΈΡΠ΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° fs-verity.
- Π ΠΊΠ»ΠΈΠ΅Π½ΡΠ° NFS Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° "ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ" Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ (writes=eager), ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° Π·Π°ΠΏΠΈΡ Π² ΡΠ°ΠΉΠ» Π²Π΅Π΄Π½Π°Π³Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ Π½Π° ΡΡΡΠ²ΡΡΠ°, Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠΉΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈΡ ΠΊΠ΅Ρ. Π£ΠΊΠ°Π·Π°Π½ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² Π€Π‘ ΠΈ Π² Π½ΡΠΊΠΎΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
- Π CIFS (SMB) ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅: acregmax Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ acdirmax Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈΡΠ΅.
- Π XFS Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠ²ΠΎΡΠΈΡΠ΅, ΡΡΠΊΠΎΡΠ΅Π½ΠΎ Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° fsync, ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΠΊΠΎΠ΄Π° growfs Π·Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π€Π‘.
- ΠΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° DTMP (Dynamic Thermal Power Management), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π΅Π½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΠΎΠ±ΡΠΈ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ.
- ΠΠ½Π΅Π΄ΡΠ΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π°ΡΠ΄ΡΠΎ Ρ Clang, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ (LTO, Link Time Optimization). LTO ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°Ρ ΠΏΠΎ ΡΠΎΠ²Π°, ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΡΠ°ΡΡΠ²Π°ΡΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΠΈ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Ρ Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΠ» ΠΏΠΎΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΈ Π½Π΅ ΠΎΡΡΠΈΡΠ°Ρ ΡΡΠ»ΠΎΠ²ΠΈΡΡΠ° Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π² Π΄ΡΡΠ³ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ LTO Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ inline ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π΅ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π° Π² ΠΈΠ·ΠΏΡΠ»Π½ΡΠ΅ΠΌΠΈΡ ΡΠ°ΠΉΠ», ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΎΠ±ΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° LTO Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π΄ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ x86 ΠΈ ARM64.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΈ Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ (PREEMPT) Π² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ (preempt=none/voluntary/full) ΠΈΠ»ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΡΠ΅Π· debugfs (/debug/sched_debug), ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ΅ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° PREEMPT_DYNAMIC ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΄ΡΠΎΡΠΎ. ΠΡΠ΅Π΄ΠΈ ΡΠ΅ΠΆΠΈΠΌΡΡ Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ ΡΠ°ΠΌΠΎ Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ°. ΠΡΠΎΠΌΡΠ½Π°ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΈΡΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΠ΄ΡΠ° Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΡΠ΅ΠΆΠΈΠΌ PREEMPT, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ Π·Π° ΡΠ°Π±ΠΎΡΠ½ΠΈ ΡΡΠ°Π½ΡΠΈΠΈ, Π½Π° ΡΠ΅Π½Π° Π½Π° Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ, ΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π°Ρ ΠΊΡΠΌ ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ PREEMPT_VOLUNTARY (ΠΏΡΠΎΠΌΠ΅ΠΆΠ΄ΡΡΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π·Π° ΡΠ°Π±ΠΎΡΠ½ΠΈ ΡΡΠ°Π½ΡΠΈΠΈ) ΠΈΠ»ΠΈ PREEMPT_NONE (ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ). ΡΡΡΠ²ΡΡΠΈ).
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° BPF Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ BPF_ADD, BPF_AND, BPF_OR, BPF_XOR, BPF_XCHG ΠΈ BPF_CMPXCHG.
- BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ Π² ΡΡΠ΅ΠΊΠ° ΡΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΎ ΠΈΠ·ΠΌΠ΅ΡΡΠ²Π°Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΏΡΠ΅Π΄ΠΈ Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΠΌΠ°ΡΠΈΠ² Π² ΡΡΠ΅ΠΊΠ° Π΅ Π±ΠΈΠ» Π²ΡΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ°ΠΌΠΎ ΡΡΠ΅Π· ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠ΅Π³Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ² ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠΎΠ½ΡΡΠΎΠ»ΡΡ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° ΡΡΠ°Π²Π° ΡΠ°ΠΌΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ Π³ΡΠ°Π½ΠΈΡΠΈ, ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ ΡΡΠ΅Π· Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° BPF. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΅ Π½Π°Π»ΠΈΡΠ½Π° ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΎΠΏΠ°ΡΠ΅Π½ΠΈΡ Π·Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΈΠΊΡΠ΅ΠΏΡΠ½Π΅ Π½Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΊΡΠΌ "Π³ΠΎΠ»ΠΈ" ΡΠΎΡΠΊΠΈ Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ (bare tracepoints), Π½Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π²ΠΈΠ΄ΠΈΠΌΠΈΡΠ΅ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ (Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠΎΡΠΊΠΈ Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π΅ ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ABI).
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠΈΠ½Π° CXL 2.0 (Compute Express Link) Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²ΠΈΡΠΎΠΊΠΎΡΠΊΠΎΡΠΎΡΡΠ½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ CPU ΠΈ ΠΏΠ°ΠΌΠ΅ΡΡΠ° (ΡΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π° ΠΏΠ°ΠΌΠ΅Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ Π ΠΠ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΡΡΠΊΠ°Ρ ΡΠ°Π·ΠΈ ΠΏΠ°ΠΌΠ΅Ρ Π΅ ΡΠ²ΡΡΠ·Π°Π½Π° ΡΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ Π² CPU).
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ nvmem Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° Linux (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ°ΠΌΠ΅Ρ EEPROM, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠ°ΠΌΠΎ Π·Π° ΡΡΡΠΌΡΠ΅ΡΠ°, ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΡΠ°ΠΌΠΎ Π½Π° ΡΠ°Π½Π½ΠΈΡΠ΅ Π΅ΡΠ°ΠΏΠΈ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅).
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°Π½Π΅ βoprofileβ Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π±Π΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° ΠΎΡ ΠΏΠΎ-ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ perf.
- Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ io_uring Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ cgroup, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°.
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° NUMA ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ kprobes ΠΈ uprobes.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΏΠΎΠ²ΠΈΠΊ kcmp() Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠΏΠΈΡ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ (checkpoint/restore).
- ΠΠ°ΠΊΡΠΎΡΠΈΡΠ΅ EXPORT_UNUSED_SYMBOL() ΠΈ EXPORT_SYMBOL_GPL_FUTURE() ΡΠ° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ ΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ.
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° Π·Π°ΡΠΈΡΠ° KFence (Kernel Electric Fence), ΠΊΠΎΠΉΡΠΎ ΡΠ»Π°Π²Ρ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ ΠΈΠ·Π²ΡΠ½ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±ΡΡΠ΅ΡΠ° ΠΈ Π΄ΠΎΡΡΡΠΏ ΡΠ»Π΅Π΄ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΎΡΠ»Π°Π΄ΡΡΠ½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ KASAN, ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° KFence ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π²ΠΈΡΠΎΠΊΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ Π½ΠΈΡΠΊΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ»Π°Π²ΡΠ½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅Π°Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΈ Π΄ΡΠ»Π³ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π° ΡΠ°Π±ΠΎΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ACRN, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° Π·Π°Π΄Π°Π½ΠΈΡ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ Π·Π° ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π²Π°ΠΆΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ACRN ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ, Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π½ΠΈΡΠΊΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ (low latency) ΠΈ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π° ΡΠ΅Π°ΠΊΡΠΈΡ ΠΏΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ°. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΊΠ°ΡΠΎ CPU, Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄, ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ, Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΈ Π·Π²ΡΠΊΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ACRN ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ. Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π² Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ±ΠΎΡΠ½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ, Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ IoT ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ Π΄ΡΡΠ³Π° Π²Π³ΡΠ°Π΄Π΅Π½Π° ΡΠ΅Ρ Π½ΠΈΠΊΠ°. ACRN ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄Π²Π° ΡΠΈΠΏΠ° Π³ΠΎΡΡΡΠ²Π°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ β ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ Service VM, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° (CPU, ΠΏΠ°ΠΌΠ΅Ρ, Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ ΠΈ Ρ.Π½.) ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ User VM, Π² ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, Android ΠΈ Windows.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° IMA (Integrity Measurement Architecture), ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π±Π°Π·Π° Ρ Π΅ΡΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ ΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ, ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΌΠΎΡΠΎ ΡΠ΄ΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡΠ° Π² ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π½Π° SELinux.
- Π Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° KVM Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΈΡ Π²Π°ΡΠ°Π½Π΅ Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Xen ΠΈ ΡΡΡ Π½ΠΎΡΠΎ ΠΏΡΠΎΠ±ΡΠΎΡΠ²Π°Π½Π΅ Π² Π΅ΠΌΡΠ»Π°ΡΠΈΠΎΠ½Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ, ΡΠ°Π±ΠΎΡΠ΅Ρ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Linux ΠΊΠ°ΡΠΎ ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π° ΡΡΠ΅Π΄Π° Π·Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° Hyper-V. ΠΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° ΡΡΠ΅Π΄Π° ΠΈΠΌΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ΡΠΎ ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π³ΠΎΡΡΡΠ²Π°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π½Π° Dom0 Π² Xen). ΠΠΎΡΠ΅Π³Π° Hyper-V (Microsoft Hypervisor) ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ Linux ΡΠ°ΠΌΠΎ Π² Π³ΠΎΡΡΡΠ²Π°ΡΠΈ ΡΡΠ΅Π΄ΠΈ, Π½ΠΎ ΡΠ°ΠΌΠΈΡΡ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Π±Π΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ ΠΎΡ ΡΡΠ΅Π΄Π° Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° Windows.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° inline ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π·Π° ΠΊΠ°ΡΡΠΈ eMMC, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π½Π° Π½ΠΎΡΠΈΡΠ΅Π»Ρ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄.
- ΠΡ ΠΊΡΠΈΠΏΡΠΎΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ Π² ΡΠ΄ΡΠΎΡΠΎ Ρ Π΅ΡΠΎΠ²Π΅ RIPE-MD 128/256/320 ΠΈ Tiger 128/160/192, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π° ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΈΡ ΡΠΈΡΡΡ Salsa20, Π·Π°ΠΌΠ΅Π½Π΅Π½ ΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° ChaCha20. ΠΠ»Π³ΠΎΡΠΈΡΡΠΌΡΡ blake2 Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ blake2s.
- ΠΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π½Π°ΡΡΠ½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° NAPI Π·Π° polling Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π·Π° Π½ΡΠΊΠΎΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅. ΠΠΎΡΠ΅Π³Π° polling ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° softirq ΠΈ Π½Π΅ ΡΠ΅ ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠ΅ ΠΎΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ²Π°ΡΠ΅ ΡΠΈΠ½Π°ΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π·Π° polling ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΏΡΠΈΠΊΠ°ΡΠ²Π°Π½Π΅ ΠΊΡΠΌ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ΄ΡΠ° Π½Π° CPU ΠΈ ΠΎΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈΠΌ ΠΏΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠΈ. ΠΠ° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈΡ ΡΠ΅ΠΆΠΈΠΌ Π² sysfs Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ /sys/class/net//threaded.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΎ Π΅ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° MPTCP (MultiPath TCP), ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° TCP ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° TCP Π²ΡΡΠ·ΠΊΠ° Ρ Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ°ΡΡΡΡΡΠ° ΠΏΡΠ΅Π· ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ. Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠΎΡΠΎΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΏΠΎΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Ρ ΡΠ°ΠΌΠΎ ΠΏΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊ.
- Π IGMPv3 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° EHT (Explicit Host Tracking).
- Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ netfilter Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ, Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ½ΠΎΠ² ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΌΠ΅ΠΆΠ΄ΡΡΠ΅ΡΠ΅Π²ΠΈΡ Π΅ΠΊΡΠ°Π½ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΊΠ»ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ, Π·Π°Π±ΡΠ°Π½ΡΠ²Π°ΠΉΠΊΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠ²Π°Ρ Π² ΡΡΡ ).
- ΠΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅
- ΠΠ·Π²ΡΡΡΠ΅Π½Π° Π΅ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ARM ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. ΠΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ Π΅ ΠΊΠΎΠ΄ΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ efm32, picoxcell, prima2, tango, u300, zx ΠΈ c6x, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ ΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° amdgpu Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠ²ΡΡΠΊΠ»ΠΎΠΊΠ²Π°Π½Π΅ (OverDrive) Π½Π° ΠΊΠ°ΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° GPU Sienna Cichlid (Navi 22, Radeon RX 6xxx). ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΠΈΠΊΡΠ΅Π»Π΅Π½ ΡΠΎΡΠΌΠ°Ρ FP16 Π·Π° DCE (display controller engine) ΠΎΡ 8 Π΄ΠΎ 11 ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅. ΠΠ° GPU Navy Flounder (Navi 21) ΠΈ APU Van Gogh Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° GPU.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° i915 Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΈ Intel Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ i915.mitigations Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ ΠΈ Π·Π°ΡΠΈΡΠ° Ρ ΡΠ΅Π» ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. ΠΠ° ΡΠΈΠΏΠΎΠ²Π΅ ΠΎΡ Tiger Lake Π½Π°ΡΠ°ΡΡΠΊ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° VRR (Variable Rate Refresh), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π°Π΄Π°ΠΏΡΠΈΠ²Π½Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ΅ΡΡΠΎΡΠ°ΡΠ° Π½Π° ΠΎΠΏΡΠ΅ΡΠ½ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°, Π·Π° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΠΏΠ»Π°Π²Π½ΠΎΡΡ ΠΈ Π»ΠΈΠΏΡΠ° Π½Π° Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ³ΡΠΈ. ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Intel Clear Color Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ²Π΅ΡΠΎΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° DP-HDMI 2.1. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° eDP ΠΏΠ°Π½Π΅Π»ΠΈ. ΠΠ° GPU Gen9 Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° LSPCON (Level Shifter and Protocol Converter) Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° HDR.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° nouveau Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° GPU NVIDIA, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° GA100 (Ampere).
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° msm Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° GPU Adreno 508, 509 ΠΈ 512, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ SDM (Snapdragon) 630, 636 ΠΈ 660.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·Π²ΡΠΊΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΡΡΠΈ Sound BlasterX AE-5 Plus, Lexicon I-ONIX FW810s ΠΈ Pioneer DJM-750. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·Π²ΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Intel Alder Lake PCH-P. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ½Π° ΡΠΈΠΌΡΠ»Π°ΡΠΈΡ Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π°ΡΠ΄ΠΈΠΎΡΠ°Π·ΡΠ΅ΠΌΠ° Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π½Π΅ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ Nintendo 64, ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½ΠΈ ΠΎΡ 1996 Π΄ΠΎ 2003 Π³ΠΎΠ΄ΠΈΠ½Π° (ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈ ΠΎΠΏΠΈΡΠΈ Π·Π° ΠΏΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Linux Π·Π° Nintendo 64 Π½Π΅ Π±ΡΡ Π° Π·Π°Π²ΡΡΡΠ΅Π½ΠΈ ΠΈ ΠΈΠΌΠ°Ρ Π° ΡΡΠ°ΡΡΡ Vaporware). ΠΠΎΡΠΈΠ²Π°ΡΠΈΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ² ΠΏΠΎΡΡ Π·Π° ΠΎΡΡΠ°ΡΡΠ»Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΠΊΠΎΡΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΎΡ ΠΏΠΎΡΡΠΈ Π΄Π²Π΅ Π΄Π΅ΡΠ΅ΡΠΈΠ»Π΅ΡΠΈΡ, Π΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΡΠ΅ ΡΡΠΈΠΌΡΠ»ΠΈΡΠ° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ ΠΈ ΡΠ»Π΅ΡΠ½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π½ΠΎΡΠ° Π½Π° ΠΈΠ³ΡΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° ΠΈΠ³ΡΠΎΠ²ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Sony PlayStation 5 DualSense.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ARM ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ: PineTab, Snapdragon 888 / SM8350, Snapdragon MTP, Two Beacon EmbeddedWorks, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M Nano, NanoPi M4B.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ Purism Librem5 Evergreen, Xperia Z3+/Z4/Z5, ASUS Zenfone 2 Laser, BQ Aquaris X5, OnePlus 6, OnePlus 6T, Samsung GT-I9070.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ bcm-vk Π·Π° ΠΏΠ»Π°ΡΠΊΠΈ-ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΠΈ Broadcom VK (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, PCIe ΠΏΠ»Π°ΡΠΊΠΈ Valkyrie ΠΈ Viper), ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΎΡΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π²ΡΠΊ, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Lenovo IdeaPad Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΡΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ°. ΠΡΠΈΠ³ΡΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ACPI ΠΏΡΠΎΡΠΈΠ»Π° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ThinkPad Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΠΉΠ½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ. ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° HID ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° Lenovo ThinkPad X1 Tablet Gen 2.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ov5647 Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ» Ρ ΠΊΠ°ΠΌΠ΅ΡΠ° Π·Π° Raspberry Pi.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° RISC-V SoC FU740 ΠΈ ΠΏΠ»Π°Ρ HiFive Unleashed. ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° ΡΠΈΠΏΠ° Kendryte K210.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
