ΠΠΎ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠΈ ΡΠ°Π·Π²ΠΎΡ, ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ Π³ΠΎ ΠΏΡΠ΅ΡΡΡΠ°Π²ΠΈ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΠΈΠ½ΡΠΊΡ 5.18. ΠΠ΅ΡΡ Π½Π°ΡΠ·Π½Π°ΡΠ°ΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ: Π±Π΅ΡΠ΅ ΠΈΠ·Π²ΡΡΠ΅Π½ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΎ ΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π·Π°ΡΡΠ°ΡΠ΅Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ, Reiserfs FS Π±Π΅ΡΠ΅ ΠΏΡΠΎΠ³Π»Π°ΡΠ΅Π½ Π·Π° Π·Π°ΡΡΠ°ΡΠ΅Π½, Π±Π΅Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ Π½Π°ΡΡΠ°Π½ΠΈ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ΅ Π½Π° Intel IBT, Π±Π΅ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ ΠΏΡΠ΅Π»Π΅Π²Π°ΡΠ΅ Π½Π° Π±Π°ΡΠ΅ΡΠΎΡ ΠΊΠΎΠ³Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° memcpy(), Π΄ΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΏΠΎΠ²ΠΈΡΠΈΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° fprobe, ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΠΈΠ·Π²Π΅Π΄Π±Π°ΡΠ° Π½Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ Π½Π° Π·Π°Π΄Π°ΡΠΈ Π½Π° AMD Zen ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠ΅Π½ Π΅ Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ Intel (SDS), ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ ΡΠ΅ Π½Π΅ΠΊΠΎΠΈ Π·Π°ΠΊΡΠΏΠΈ Π·Π° ΠΏΡΠ΅ΡΡΡΡΠΊΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π·Π° Π·Π°Π³Π»Π°Π²ΠΈΡΠ°, Π° ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΎΡ C11.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° 16206 ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ ΠΎΠ΄ 2127 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ (Π²ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠΌΠ°ΡΠ΅ 14203 ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ ΠΎΠ΄ 1995 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ), Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° Π·Π°ΠΊΡΠΏΠ°ΡΠ° Π΅ 108 MB (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π»ΠΈΡΠ°Π΅ΡΠ° Π½Π° 14235 Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ 1340982 Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ΄, ΠΈΠ·Π±ΡΠΈΡΠ°Π½ΠΈ ΡΠ΅ 593836 Π»ΠΈΠ½ΠΈΠΈ). ΠΠΊΠΎΠ»Ρ 44% ΠΎΠ΄ ΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎΠ²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ 5.18 ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΠ΅Π΄ΠΈ, ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 16% ΠΎΠ΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ΄ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, 11% ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΡΡΠ΅ΠΊ, 3% ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ 3% ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ.
ΠΠ»Π°Π²Π½ΠΈΡΠ΅ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ Π²ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ 5.18:
- ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π΄ΠΈΡΠΊ, Π/Π ΠΈ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
- ΠΠ°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Btrfs Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ°ΡΠ΅. ΠΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ, ΠΊΠΎΠ³Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅/ΠΏΡΠΈΠΌΠ°ΡΠ΅, ΡΡΡΠ°Π½Π°ΡΠ° ΡΡΠΎ ΠΈΡΠΏΡΠ°ΡΠ° Π³ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π»Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π·Π°ΡΡΠ²Π°Π½ΠΈ Π²ΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π° ΡΠΎΡΠΌΠ°, Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΠΏΡΠΈΠΌΠ°ΡΠΎΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π³ΠΈ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π»Π° ΠΏΡΠ΅Π΄ Π΄Π° Π³ΠΈ Π·Π°ΠΏΠΈΡΠ΅. ΠΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ 5.18, Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡ ΡΡΠΎ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΠΎΠ²ΠΈΡΠΈ Π·Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅/ΠΏΡΠΈΠΌΠ°ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠ° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°Π°Ρ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π±Π΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠ°ΠΊΡΠ²Π°ΡΠ΅. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ioctl BTRFS_IOC_ENCODED_READ ΠΈ BTRFS_IOC_ENCODED_WRITE, ΠΊΠΎΠΈ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄Π° ΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈ.
ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, Btrfs Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° fsync. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄Π΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ (ΠΊΠ»ΠΎΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π²ΡΡΠΊΠ° Π΄ΠΎ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π±Π΅Π· Π²ΡΡΡΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ°Π°Ρ) Π·Π° ΡΠ΅Π»ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅, Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π½Π° ΡΠΎΡΠΊΠΈΡΠ΅ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅.
- ΠΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΡ ΠΠΈΡΠ΅ΠΊΡΠ΅Π½ Π²Π»Π΅Π·/ΠΈΠ·Π»Π΅Π·, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΠΈ Π΄ΠΎ ΡΠΈΡΡΠΈΡΠ°Π½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠ³Π° fscrypt ΠΊΠΎΡΠΈΡΡΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΎ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅, Π²ΠΎ ΠΊΠΎΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ ΠΈ Π΄Π΅ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ Π³ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΎΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ Π½Π°ΠΌΠ΅ΡΡΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ. Π‘ΠΎ ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ, ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ ΡΠΈΡΡΠΈΡΠ°Π½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Direct I/O Π΅ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π΄ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π° ΡΠΎ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° ΡΠ°ΠΌΠΏΠΎΠ½ΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ.
- Π‘Π΅ΡΠ²Π΅ΡΠΎΡ NFS ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ NFSv3, ΠΊΠΎΡ ΡΠ΅Π³Π° Π½Π΅ Π±Π°ΡΠ° ΠΏΠΎΡΠ΅Π±Π½ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ ΠΈ Π΅ Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½ ΠΊΠΎΠ³Π° NFS Π΅ ΠΎΠΏΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½. NFSv3 ΡΠ΅ ΡΠΌΠ΅ΡΠ° Π·Π° Π³Π»Π°Π²Π½Π° ΠΈ ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° NFS, Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° NFSv2 ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠ° Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π°. ΠΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡΠ° Π½Π° ΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΎΡ Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°.
- ΠΠ°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ReiserFS Π΅ Π·Π°ΡΡΠ°ΡΠ΅Π½ ΠΈ ΡΠ΅ ΠΎΡΠ΅ΠΊΡΠ²Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Ρ Π²ΠΎ 2025 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ReiserFS ΡΠ΅ Π³ΠΎ Π½Π°ΠΌΠ°Π»ΠΈ Π½Π°ΠΏΠΎΡΠΎΡ ΠΏΠΎΡΡΠ΅Π±Π΅Π½ Π·Π° ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½ΠΈΠ· ΡΠ΅Π»ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Π½ΠΎΠ²ΠΈΠΎΡ API Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅, iomap ΠΈ tomes.
- ΠΠ° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ F2FS, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΌΠ°ΠΏΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΠ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π° ΡΡΡΠ°Π½ΡΠΊΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° ΡΠΎ Π΄ΡΡΠ³ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Π½Π° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ.
- ΠΠΎΠ΄ΠΎΡ Π·Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π²ΠΎ Device-mapper handlers Π΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΡΠΎΡΠ½ΠΎΡΡΠ° Π½Π° ΡΠΌΠ΅ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΠΊΠ°Ρ ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΠ΅ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ dm-crypt.
- Π£ΡΠ΅Π΄ΠΈΡΠ΅ NVMe ΡΠ΅Π³Π° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ 64-Π±ΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΡΠΌΠΈ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅ΡΠΎΡ.
- ΠΠ° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ exfat, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ βkeep_last_dotsβ, ΠΊΠΎΡΠ° Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° ΡΠΎΡΠΊΠΈΡΠ΅ Π½Π° ΠΊΡΠ°ΡΠΎΡ ΠΎΠ΄ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° (Π²ΠΎ Windows, ΡΠΎΡΠΊΠΈΡΠ΅ Π½Π° ΠΊΡΠ°ΡΠΎΡ ΠΎΠ΄ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ ΡΠ΅ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π°Ρ).
- EXT4 Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΎΡ fast_commit ΠΈ ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° ΠΏΡΠΈΡΠΏΠΎΡΠΎΠ±Π»ΠΈΠ²ΠΎΡΡΠ°. ΠΠΏΡΠΈΡΠ°ΡΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ βmb_optimize_scanβ, ΠΊΠΎΡΠ° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π²ΠΎ ΡΡΠ»ΠΎΠ²ΠΈ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠ° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ, Π΅ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠΎ ΠΎΠ±Π΅ΠΌ.
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΏΠΎΡΠΎΡΠΈ Π·Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ ΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° Π±Π»ΠΎΠΊ ΡΡΠ΅Π΄ΠΈ Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠ°. ΠΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π·Π° SSD-Π΄ΠΈΡΠΊΠΎΠ²ΠΈ, Π½ΠΎ Π½Π΅ Π±Π΅ΡΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅ΡΠ° ΠΈ Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ΠΌΠ° ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΠΈ Π³ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ ΠΎΠ²ΠΎΡ ΡΠ΅ΠΆΠΈΠΌ ΠΈ ΠΌΠ°Π»ΠΊΡ Π΅ Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎ Π΄Π΅ΠΊΠ° ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²Π°Ρ Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π°.
- ΠΠ°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Btrfs Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ°ΡΠ΅. ΠΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ, ΠΊΠΎΠ³Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅/ΠΏΡΠΈΠΌΠ°ΡΠ΅, ΡΡΡΠ°Π½Π°ΡΠ° ΡΡΠΎ ΠΈΡΠΏΡΠ°ΡΠ° Π³ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π»Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π·Π°ΡΡΠ²Π°Π½ΠΈ Π²ΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π° ΡΠΎΡΠΌΠ°, Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΠΏΡΠΈΠΌΠ°ΡΠΎΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π³ΠΈ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π»Π° ΠΏΡΠ΅Π΄ Π΄Π° Π³ΠΈ Π·Π°ΠΏΠΈΡΠ΅. ΠΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ 5.18, Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡ ΡΡΠΎ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΠΎΠ²ΠΈΡΠΈ Π·Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅/ΠΏΡΠΈΠΌΠ°ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠ° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°Π°Ρ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π±Π΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠ°ΠΊΡΠ²Π°ΡΠ΅. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ioctl BTRFS_IOC_ENCODED_READ ΠΈ BTRFS_IOC_ENCODED_WRITE, ΠΊΠΎΠΈ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄Π° ΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈ.
- ΠΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ
- ΠΠ°ΠΏΠΎΡΠ½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π·Π±ΠΈΡ Π½Π° Π·Π°ΠΊΡΠΏΠΈ, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΡΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π° Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΡΠΎ ΡΠ΅ΡΡΡΡΠΊΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ°ΡΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π·Π° Π·Π°Π³Π»Π°Π²ΠΈΡΠ° ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π½Π° Π±ΡΠΎΡΠΎΡ Π½Π° Π²ΠΊΡΡΡΠ΅Π½ΠΈ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ. ΠΠ΅ΡΠ½Π΅Π»ΠΎΡ 5.18 Π²ΠΊΠ»ΡΡΡΠ²Π° Π·Π°ΠΊΡΠΏΠΈ ΠΊΠΎΠΈ ΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π°Ρ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π·Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅ Π½Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ Π½Π° Π·Π°Π΄Π°ΡΠΈ (ΠΊΠ΅ΡΠ½Π΅Π»/ΡΠ΅Π΄). ΠΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΏΡΠΈ ΡΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΊΠ΅ΡΠ½Π΅Π»/ΡΠ΅Π΄/ΠΊΠΎΠ΄ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½Π° Π·Π° 61%, Π° Π²ΠΈΡΡΠΈΠ½ΡΠΊΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π·Π° 3.9% (ΠΎΠ΄ 2.95 Π½Π° 2.84 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ).
- ΠΠ° ΠΊΠΎΠ΄ΠΎΡ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΌΡ Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΎΡ C11, ΠΎΠ±ΡΠ°Π²Π΅Π½ Π²ΠΎ 2011 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ, ΠΊΠΎΠ΄ΠΎΡ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ Π²ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΌΠΎΡΠ°ΡΠ΅ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ANSI C (C89), ΡΠΎΡΠΌΠΈΡΠ°Π½Π° ΡΡΡΠ΅ Π²ΠΎ 1989 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΠΎ ΡΠΊΡΠΈΠΏΡΠΈΡΠ΅ Π·Π° ΠΈΠ·Π³ΡΠ°Π΄Π±Π° Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ 5.18, ΠΎΠΏΡΠΈΡΠ°ΡΠ° ββstd=gnu89β Π±Π΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½Π΅ΡΠ° ΡΠΎ ββstd=gnu11 -Wno-shift-negative-valueβ. Π‘Π΅ ΡΠ°Π·Π³Π»Π΅Π΄ΡΠ²Π°ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΎΡ C17, Π½ΠΎ Π²ΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ ΡΠ΅ Π±ΠΈΠ΄Π΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° GCC, Π΄ΠΎΠ΄Π΅ΠΊΠ° Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° C11 ΡΠ΅ Π²ΠΊΠ»ΠΎΠΏΡΠ²Π° Π²ΠΎ ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΡΠ΅ Π±Π°ΡΠ°ΡΠ° Π·Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π½Π° GCC (5.1).
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π·Π° Π·Π°ΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π° AMD ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΡΠΎ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΠ΅Π½, ΠΊΠΎΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ΠΊΡΠ°ΡΠ½Π° ΠΊΠ΅Ρ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎ Π½ΠΈΠ²ΠΎ (LLC) Π·Π° ΡΠ΅ΠΊΠΎΡ ΡΠ°Π·ΠΎΠ» ΡΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΠΊΠ°Π½Π°Π»ΠΈ. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° ΡΠ° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π½Π΅ΡΠ°ΠΌΠ½ΠΎΡΠ΅ΠΆΠ°ΡΠ° Π½Π° LLC ΠΏΠΎΠΌΠ΅ΡΡ NUMA ΡΠ°Π·Π»ΠΈΡΠ΅, ΡΡΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π·Π° Π½Π΅ΠΊΠΎΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΈ ΠΎΠ±Π΅ΠΌ Π½Π° ΡΠ°Π±ΠΎΡΠ°.
- ΠΠ»Π°ΡΠΊΠΈΡΠ΅ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ΅Π½ΠΈ. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π΄ΠΎΠ΄Π°Π²Π° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°Π°Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ Π½Π°ΡΡΠ°Π½ΠΈ ΠΈ Π΄Π° ΠΏΠΈΡΡΠ²Π°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π±Π°ΡΠ΅ΡΠΎΡ Π·Π° ΡΡΠ°Π³Π°, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π³Π»Π΅Π΄Π° ΠΏΡΠ΅ΠΊΡ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ftrace ΠΈ perf. ΠΠ°ΡΡΠ°Π½ΠΈΡΠ΅ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ ΡΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ Π½Π°ΡΡΠ°Π½ΠΈΡΠ΅ Π·Π° ΡΡΠ°Π³Π° Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ. Π‘ΡΠ°ΡΡΡΠΎΡ Π½Π° Π½Π°ΡΡΠ°Π½ΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π³Π»Π΅Π΄Π° ΠΏΡΠ΅ΠΊΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° /sys/kernel/debug/tracing/user_events_status, Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π½Π°ΡΡΠ°Π½ΠΎΡ ΠΈ ΡΠ½ΠΈΠΌΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠ΅ΠΊΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° /sys/kernel/debug/tracing/user_events_data.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ (ΡΠΎΠ½Π΄Π°) ΡΡΠ½ΠΊΡΠΈΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ - fprobe. Fprobe API ΡΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π° Π½Π° ftrace, Π½ΠΎ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΠ°ΠΌΠΎ ΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΡΠ°Ρ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΈ Π·Π° ΠΏΠΎΠ²ΡΠ°ΡΠ΅Π½ ΠΏΠΎΠ²ΠΈΠΊ Π½Π° Π²Π»Π΅Π·Π½ΠΈΡΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΠΈ ΡΠΎΡΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ·Π»Π΅Π· Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ°. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ kprobes ΠΈ kretprobes, Π½ΠΎΠ²ΠΈΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Π΅Π΄Π΅Π½ ΡΠΏΡΠ°Π²ΡΠ²Π°Ρ Π·Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ΄Π΅Π΄Π½Π°Ρ.
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΏΠΎΡΡΠ°ΡΠΈ ARM ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ (ARMv4 ΠΈ ARMv5) ΠΊΠΎΠΈ Π½Π΅ ΡΠ΅ ΠΎΠΏΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎ Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° (MMU) Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠ°. ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ARMv7-M Π±Π΅Π· MMU Π΅ Π·Π°Π΄ΡΠΆΠ°Π½Π°.
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° NDS32 ΡΠ»ΠΈΡΠ½Π° Π½Π° RISC ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° Andes Technologies Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠ°. ΠΠΎΠ΄ΠΎΡ Π±Π΅ΡΠ΅ ΠΎΡΡΡΡΠ°Π½Π΅Ρ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° ΠΏΠΎΠ±Π°ΡΡΠ²Π°ΡΠΊΠ° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° NDS32 Π²ΠΎ Π³Π»Π°Π²Π½ΠΈΠΎΡ ΠΊΠ΅ΡΠ½Π΅Π» Π½Π° ΠΠΈΠ½ΡΠΊΡ (ΠΏΡΠ΅ΠΎΡΡΠ°Π½Π°ΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π» ΠΎΠ΄ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ Π½Π° Ρ Π°ΡΠ΄Π²Π΅Ρ).
- Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ, Π³ΡΠ°Π΄Π΅ΡΠ΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΎΡΠΌΠ°ΡΠΎΡ Π½Π° ΠΈΠ·Π²ΡΡΠ½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° a.out Π΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ Π°Π»ΡΠ° ΠΈ m68k, ΠΊΠΎΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π°Π°Ρ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΎΠ²ΠΎΡ ΡΠΎΡΠΌΠ°Ρ. ΠΠ΅ΡΠΎΡΠ°ΡΠ½ΠΎ Π΅ Π΄Π΅ΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΎΡ ΡΠΎΡΠΌΠ°Ρ a.out Π½Π°ΡΠΊΠΎΡΠΎ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΎΡΡΡΡΠ°Π½Π΅ΡΠ° ΠΎΠ΄ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ. ΠΠ»Π°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΎΡΠΌΠ°ΡΠΎΡ a.out ΡΠ΅ Π΄ΠΈΡΠΊΡΡΠΈΡΠ°Π°Ρ ΠΎΠ΄ 2019 Π³ΠΎΠ΄ΠΈΠ½Π°.
- ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° PA-RISC ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ vDSO (Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ), ΠΊΠΎΡ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΠ΅Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ Π±Π΅Π· ΠΏΡΠ΅ΡΡΠ»ΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ. ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° vDSO ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΡΠΎ Π½Π΅ΠΈΠ·Π²ΡΡΠ½Π° ΡΡΠ΅ΠΊ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Intel HFI (Hardware Feedback Interface), ΠΊΠΎΡ ΠΌΡ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΠΎΡ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π·Π° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΠΈ Π΅Π½Π΅ΡΠ³Π΅ΡΡΠΊΠ°ΡΠ° Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡ Π½Π° ΡΠ΅ΠΊΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Intel SDSi (Π‘ΠΎΡΡΠ²Π΅Ρ-Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ ΡΠΈΠ»ΠΈΠΊΠΎΠ½), ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΊΠ΅Ρ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°). ΠΠ΄Π΅ΡΠ°ΡΠ° Π΅ Π΄Π΅ΠΊΠ° ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΡΠΏΠΎΡΠ°ΡΡΠ²Π°Π°Ρ ΠΏΠΎ ΠΏΠΎΠ½ΠΈΡΠΊΠ° ΡΠ΅Π½Π° ΡΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π½Π°ΠΏΡΠ΅Π΄Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈ ΠΏΠΎΡΠΎΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ βΠΊΡΠΏΠ°Ρβ ΠΈ Π΄Π° ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π±Π΅Π· Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠ° Π·Π°ΠΌΠ΅Π½Π° Π½Π° ΡΠΈΠΏΠΎΡ.
- ΠΠ²ΠΈΠ³Π°ΡΠ΅Π»ΠΎΡ amd_hsmp Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ AMD HSMP (Host System Management Port), ΠΊΠΎΡ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΏΡΠ΅ΠΊΡ Π·Π±ΠΈΡ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΡΠ° Π²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ AMD EPYC ΠΏΠΎΡΠ½ΡΠ²Π°ΡΡΠΈ ΠΎΠ΄ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡΠ°ΡΠ° Fam19h. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅ΠΊΡ HSMP ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±ΠΈΠ²Π°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡΠ° ΠΈ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°ΡΠ°, Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° Π½Π° ΡΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°ΡΠ°, Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΠΆΠΈΠΌΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΈ Π΄Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°.
- ΠΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠΎΡ I/O ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ io_uring ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΎΠΏΡΠΈΡΠ°ΡΠ° IORING_SETUP_SUBMIT_ALL Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π²ΠΎ ΠΏΡΡΡΠ΅Π½Π΅ΡΡΠΈ ΡΠ°ΠΌΠΏΠΎΠ½, ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°ΡΠ° IORING_OP_MSG_RING Π·Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΡΠΈΠ³Π½Π°Π» ΠΎΠ΄ Π΅Π΄Π΅Π½ ΠΏΡΡΡΠ΅Π½Π΅ΡΡ ΡΠ°ΠΌΠΏΠΎΠ½ Π΄ΠΎ Π΄ΡΡΠ³ ΠΏΡΡΡΠ΅Π½Π΅ΡΡ Π±Π°ΡΠ΅Ρ.
- ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ DAMOS (Data Access Monitoring-based Operation Schemes), ΠΊΠΎΡ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π·Π΅ΠΌΠ°ΡΡΠΈ ΡΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΠΈΠΌΠ° ΠΏΡΠΎΡΠΈΡΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ.
- Π’ΡΠ΅ΡΠ°ΡΠ° ΡΠ΅ΡΠΈΡΠ° Π½Π° Π·Π°ΠΊΡΠΏΠΈ Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π° ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ Π½Π° Π»ΠΈΡΡΠΎΠ²ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ, ΠΊΠΎΠΈ Π»ΠΈΡΠ°Ρ Π½Π° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ, Π½ΠΎ ΠΈΠΌΠ°Π°Ρ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΈ ΠΏΠΎΡΠ°ΡΠ½Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ°. ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ tomes Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ Π·Π°Π±ΡΠ·Π°ΡΠ΅ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ. ΠΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ Π·Π°ΠΊΡΠΏΠΈ, ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ Π²Π½Π°ΡΡΠ΅ΡΠ½Π°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π±Π΅Π° ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ ΡΠΎΠ»ΠΈΡΠ°, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π²Π°ΡΠΈΡΠ°ΡΠΈΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° get_user_pages(). ΠΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡΠΈΠ½ΠΈ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ Π·Π° ΡΠΈΡΠ°ΡΠ΅ ΠΎΠ΄Π½Π°ΠΏΡΠ΅Π΄.
- Π‘ΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ ΡΠ΅Π³Π° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° USERCFLAGS ΠΈ USERLDFLAGS ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ°, ΡΠΎ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π½Π°ΠΌΠ΅Π½ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ ΠΈ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠΎΡ.
- ΠΠΎ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ eBPF, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ BTF (BPF Type Format), ΠΊΠΎΡ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΡ Π²ΠΎ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ΠΎΡ BPF, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ ΠΏΡΠΈΠ±Π΅Π»Π΅ΡΠΊΠΈ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ ΠΊΠΎΠΈ ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π°Π°Ρ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ. ΠΡΠΈΠ±Π΅Π»Π΅ΡΠΊΠΈΡΠ΅ ΠΌΡ ΠΏΠΎΠΌΠ°Π³Π°Π°Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΡ BPF ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ Π΄Π° Π³ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΈΡΠ΅ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°.
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ Π½ΠΎΠ² ΡΠΏΡΠ°Π²ΡΠ²Π°Ρ Π·Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π±Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π²ΡΠΈΡΠ°Π½ΠΈ BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΠΊΠΎΡ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΏΠΎΠ΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π²ΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ Π²ΡΠΈΡΠ°Π½ΠΈ Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ.
- ΠΠ½Π°ΠΌΠ΅ΡΠΎ MADV_DONTNEED_LOCKED Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΠΏΠΎΠ²ΠΈΠΊ madvise(), ΠΊΠΎΡ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠ½Π°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΡΡΠΎ Π³ΠΎ Π½Π°Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ²Π° ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΎΡΠΎ Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ MADV_DONTNEED, ΠΏΡΠ΅ΠΊΡ ΠΊΠΎΠ΅ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΌΠΎΠΆΠ΅ ΠΎΠ΄Π½Π°ΠΏΡΠ΅Π΄ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ° Π·Π° ΠΏΡΠ΅ΡΡΡΠΎΡΠ½ΠΎΡΠΎ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ Π±Π»ΠΎΠΊ, Ρ.Π΅. Π΄Π΅ΠΊΠ° ΠΎΠ²ΠΎΡ Π±Π»ΠΎΠΊ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π΅ Π΅ ΠΏΠΎΡΡΠ΅Π±Π΅Π½ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΎΠ΄ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ MADV_DONTNEED, ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° Π·Π½Π°ΠΌΠ΅ΡΠΎ MADV_DONTNEED_LOCKED Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½Π° Π·Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠΈ Π·Π°ΠΊΠ°ΡΠ΅Π½ΠΈ Π²ΠΎ RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΠΊΠΎΠΈ, ΠΊΠΎΠ³Π° ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π° madvise, ΡΠ΅ ΠΈΡΡΡΠ»Π°Π°Ρ Π±Π΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° Π½ΠΈΠ²Π½ΠΈΠΎΡ ΡΡΠ°ΡΡΡ Π½Π° Π·Π°ΠΊΠ°ΡΠ΅Π½ΠΈ ΠΈ, Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π±Π»ΠΎΠΊΠΎΡ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° βΡΡΡΠ°Π½ΠΈΡΠ° Π²ΠΈΠ½Π°β, ΡΠ΅ Π²ΡΠ°ΡΠ°Π°Ρ ΡΠΎ Π·Π°ΡΡΠ²Π°Π½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΠ΅ΡΠΎ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π° Π·Π° Π΄Π° ΡΠ΅ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΎΠ·Π½Π°ΠΊΠ°ΡΠ° MADV_DONTNEED Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠΈ ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π²ΠΎ HugeTLB.
- ΠΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° Π·Π°ΡΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Intel IBT (Indirect Branch Tracking), ΠΊΠΎΡ ΡΠ° ΡΠΏΡΠ΅ΡΡΠ²Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°Π΄Π±Π° Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°Ρ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ Π²ΡΠ°ΡΠ°ΡΠ΅ (ROP, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΊΠΎΠ½ Π²ΡΠ°ΡΠ°ΡΠ΅), Π²ΠΎ ΠΊΠΎΠΈ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ°Π°Ρ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° ΡΠΈΠ½ΡΠΈΡ Π½Π° ΠΏΠΎΠ²ΠΈΡΠΈ ΡΡΠΎ Π²Π΅ΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ°Ρ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΡΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π°Ρ ΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΎ Π²ΡΠ°ΡΠ°ΡΠ΅ (ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΎΠ° ΡΠ΅ ΠΊΡΠ°Π΅Π²ΠΈΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅). Π‘ΡΡΡΠΈΠ½Π°ΡΠ° Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° Π·Π°ΡΡΠΈΡΠ° Π΅ Π΄Π° Π³ΠΈ Π±Π»ΠΎΠΊΠΈΡΠ° ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΈΡΠ΅ ΡΡΠ°Π½Π·ΠΈΡΠΈΠΈ ΠΊΠΎΠ½ ΡΠ΅Π»ΠΎΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° ΡΠΎ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½Π° ENDBR ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ° Π½Π° ΠΏΠΎΡΠ΅ΡΠΎΠΊΠΎΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ½Π° ΡΡΠ°Π½Π·ΠΈΡΠΈΡΠ° ΡΠ°ΠΌΠΎ Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΡΠ°Π½Π·ΠΈΡΠΈΡΠ° ΠΊΠΎΠ½ ΠΎΠ²Π°Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ° (ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ½Π° ΠΏΠΎΠ²ΠΈΠΊ ΠΏΡΠ΅ΠΊΡ JMP ΠΈ CALL ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΠΌΠΎΡΠ° Π΄Π° ΠΏΠ°Π΄Π½Π΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ°ΡΠ° ENDBR, ΠΊΠΎΡΠ° Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½Π° Π½Π° ΡΠ°ΠΌΠΈΠΎΡ ΠΏΠΎΡΠ΅ΡΠΎΠΊ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅).
- ΠΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π° Π΅ ΠΏΠΎΡΡΡΠΎΠ³Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±Π°ΡΠ΅ΡΠΎΡ Π²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ memcpy(), memmove() ΠΈ memset(), ΠΈΠ·Π²ΡΡΠ΅Π½Π° Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ³Π° Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌΠΎΡ CONFIG_FORTIFY_SOURCE. ΠΠΎΠ΄Π°Π΄Π΅Π½Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π° ΡΠ΅ ΡΠ²Π΅Π΄ΡΠ²Π° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π»ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠ΅ ΡΠΈΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π΅ ΠΏΠΎΠ·Π½Π°ΡΠ° Π³ΠΈ Π½Π°Π΄ΠΌΠΈΠ½ΡΠ²Π°Π°Ρ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅. ΠΠ°Π±Π΅Π»Π΅ΠΆΠ°Π½ΠΎ Π΅ Π΄Π΅ΠΊΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π°ΡΠ° ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΈΡΠ΅ ΠΏΡΠ΅Π»Π΅Π²Π°ΡΠ° Π½Π° Π±Π°ΡΠ΅ΡΠΎΡ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ memcpy() ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°Π½ΠΈ Π½Π°ΡΠΌΠ°Π»ΠΊΡ Π²ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π²ΡΠΎΡΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ Π·Π° Π°ΠΆΡΡΠΈΡΠ°Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΡ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎ-ΡΠ»ΡΡΠ°ΡΠ½ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ RDRAND, ΠΊΠΎΡ Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΡΠ΅Π΄ΠΈΡΠ΅ /dev/random ΠΈ /dev/urandom. ΠΠΎΠ²Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π΅ Π·Π½Π°ΡΠ°ΡΠ½Π° Π·Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° /dev/random ΠΈ /dev/urandom, Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΏΠΎΡΠ°Π²Π°ΡΠ° Π½Π° Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈ Π²ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΡ Π½Π° ΡΠ»ΡΡΠ°ΡΠ½ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ ΠΏΡΠΈ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΈ ΠΏΡΠ΅ΡΡΠ»ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Ρ Π°Ρ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° BLAKE2s Π½Π°ΠΌΠ΅ΡΡΠΎ SHA1 Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΌΠ΅ΡΠ°ΡΠ΅ Π½Π° Π΅Π½ΡΡΠΎΠΏΠΈΡΠ°. ΠΡΠΎΠΌΠ΅Π½Π°ΡΠ° ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ° Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΡ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎ-ΡΠ»ΡΡΠ°ΡΠ½ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ ΡΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΈΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ SHA1 ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π²Π΅ΠΊΡΠΎΡΠΎΡ Π·Π° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° RNG. ΠΠΈΠ΄Π΅ΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΡ BLAKE2s Π΅ ΡΡΠΏΠ΅ΡΠΈΠΎΡΠ΅Π½ Π²ΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° SHA1 Π²ΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅, Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΠΌΠ°ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠ²Π΅Π½ Π΅ΡΠ΅ΠΊΡ Π²ΡΠ· ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅.
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ARM64, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π½ΠΎΠ² Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π·Π° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΎΡ - βQARMA3β, ΠΊΠΎΡ Π΅ ΠΏΠΎΠ±ΡΠ· ΠΎΠ΄ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΡ QARMA Π΄ΠΎΠ΄Π΅ΠΊΠ° Π³ΠΎ ΠΎΠ΄ΡΠΆΡΠ²Π° ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ°ΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ARM64 ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° Π΄Π° Π³ΠΈ ΠΏΠΎΡΠ²ΡΠ΄ΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈ ΠΏΠΎΡΠΏΠΈΡΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π½Π΅ΠΈΡΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈΡΠ΅ Π³ΠΎΡΠ½ΠΈ Π±ΠΈΡΠΎΠ²ΠΈ Π½Π° ΡΠ°ΠΌΠΈΠΎΡ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°Ρ.
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ARM64, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ ΡΠΎ Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ Π²ΠΎ GCC 12 Π½Π° ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΏΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ²ΡΠ°ΡΠ½Π°ΡΠ° Π°Π΄ΡΠ΅ΡΠ° ΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΡΠ° Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΏΡΠ΅Π»Π΅Π²Π°ΡΠ΅ Π½Π° Π±Π°ΡΠ΅ΡΠΎΡ Π½Π° ΠΎΡΠ°ΠΊΠΎΡ. Π‘ΡΡΡΠΈΠ½Π°ΡΠ° Π½Π° Π·Π°ΡΡΠΈΡΠ°ΡΠ° Π΅ Π΄Π° ΡΠ΅ Π·Π°ΡΡΠ²Π° ΠΏΠΎΠ²ΡΠ°ΡΠ½Π°ΡΠ° Π°Π΄ΡΠ΅ΡΠ° Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π΅Π½ ΡΡΠ΅ΠΊ βΡΠ΅Π½ΠΊΠ°β ΠΏΠΎ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π°ΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° ΠΈ ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠ²Π°Π° Π°Π΄ΡΠ΅ΡΠ° ΠΏΡΠ΅Π΄ Π΄Π° ΠΈΠ·Π»Π΅Π·Π΅ΡΠ΅ ΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ°.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π½ΠΎΠ² ΠΏΡΠΈΠΊΠ»ΡΡΠΎΠΊ - βΠΌΠ°ΡΠΈΠ½Π°β, ΡΡΠΎ Π³ΠΈ ΡΠΎΠ΄ΡΠΆΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΈΡΠ΅ Π½Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΠΊΠΎΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ (ΠΠΠ, ΠΊΠ»ΡΡΠ΅Π²ΠΈ Π·Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΠΊ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°), ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ Π²ΠΎ ΠΏΠΎΠ΄ΠΈΠ³Π½ΡΠ²Π°ΡΠΎΡ Π½Π° ΡΠΈΠΌ. ΠΠ²ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎ ΠΏΠΎΡΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ Π²ΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΡΠ°Π·Π° ΠΏΠΎ ΠΏΠΎΠ΄ΠΈΠ³Π°ΡΠ΅ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ).
- ΠΡΡΡΡΠ°Π½Π΅ΡΠ°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π°ΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΈ Π·Π° TPM, ΠΊΠΎΠΈ Π±Π΅Π° ΠΏΠΎΠ½ΡΠ΄Π΅Π½ΠΈ Π²ΠΎ ΡΡΠ°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° TPM, ΠΈΠΌΠ°Π° ΠΏΠΎΠ·Π½Π°ΡΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π½Π΅ Π±Π΅Π° ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈ Π²ΠΎ ΠΏΡΠ°ΠΊΡΠ°.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π·Π°ΡΡΠΈΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ ΡΠΈΠΏ size_t ΠΎΠ΄ ΠΏΡΠ΅Π»Π΅Π²Π°ΡΠ΅ Π½Π° ΡΠ΅Π»ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ. ΠΠΎΠ΄ΠΎΡ Π²ΠΊΠ»ΡΡΡΠ²Π° ΡΠ°ΠΊΡΠ²Π°ΡΠΈ size_mul(), size_add() ΠΈ size_sub(), ΠΊΠΎΠΈ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π΄Π° ΠΌΠ½ΠΎΠΆΠΈΡΠ΅, Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ ΠΈ ΠΎΠ΄Π·Π΅ΠΌΠ°ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½ΠΈ ΡΠΎ ΡΠΈΠΏ size_t.
- ΠΡΠΈ Π³ΡΠ°Π΄Π΅ΡΠ΅ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΈ ΡΠ΅ Π·Π½Π°ΠΌΠ΅Π½ΡΠ°ΡΠ° β-Warray-boundsβ ΠΈ β-Wzero-length-boundsβ, ΠΊΠΎΠΈ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°Π°Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΡΠ²Π°ΡΠ° ΠΊΠΎΠ³Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΎΡ ΠΎΠ΄ΠΈ ΠΏΠΎΠ΄Π°Π»Π΅ΠΊΡ ΠΎΠ΄ Π³ΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° Π½ΠΈΠ·Π°ΡΠ° ΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½ΠΈΠ·ΠΈ ΡΠΎ Π½ΡΠ»ΡΠ° Π΄ΠΎΠ»ΠΆΠΈΠ½Π°.
- ΠΠΈΡΡΠΈΠΎ-ΠΊΡΠΈΠΏΡΠΎ ΡΡΠ΅Π΄ΠΎΡ Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΡ RSA.
- ΠΡΠ΅ΠΆΠ΅Π½ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ
- ΠΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΌΠΎΡΡΠΎΠ²ΠΈ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ΅ΠΆΠΈΠΌΠΎΡ Π·Π° Π²ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΡΡΠΈ (Π·Π°ΠΊΠ»ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ), Π²ΠΎ ΠΊΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΡΠΏΡΠ°ΡΠ° ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ Π½ΠΈΠ· ΠΏΠΎΡΡΠΎΡ ΡΠ°ΠΌΠΎ ΠΎΠ΄ ΠΎΠ²Π»Π°ΡΡΠ΅Π½Π° MAC Π°Π΄ΡΠ΅ΡΠ°. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΡΡΡΠΊΡΡΡΠΈ Π·Π° Π΄Π° ΡΠ΅ ΠΎΡΠ΅Π½ΠΈ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ STP (Spanning Tree Protocol). ΠΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ, VLAN-ΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅Π° Π΄Π° ΡΠ΅ ΠΌΠ°ΠΏΠΈΡΠ°Π°Ρ ΡΠ°ΠΌΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π° STP (1:1), ΡΠΎ ΡΠ΅ΠΊΠΎΡ VLAN ΡΠΏΡΠ°Π²ΡΠ²Π°Π½ Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΎ. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π³ΠΎ Π΄ΠΎΠ΄Π°Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠΎΡ mst_enable, ΠΊΠΎΠ³Π° Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ, ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° VLAN ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° ΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»ΠΎΡ MST (Multiple Spanning Trees) ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° VLAN ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ M:N.
- Π Π°Π±ΠΎΡΠ°ΡΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈ Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π°Π»Π°ΡΠΊΠΈΡΠ΅ Π²ΠΎ ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΠΎΡΠ°ΠΊ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΡΡΠ»Π°ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ (ΡΠΈΡΡΠΈ Π·Π° ΠΏΡΠΈΡΠΈΠ½Π°). ΠΠΎΠ΄ΠΎΡ Π·Π° ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° ΡΠ΅ ΠΈΡΠΏΡΠ°ΡΠ° ΠΊΠΎΠ³Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΏΠΎΠ²ΡΠ·Π°Π½Π° ΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ Π΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½Π° ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΎΡΡΡΠ»Π°ΡΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ ΠΏΠΎΡΠ°Π΄ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ, ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ Π½Π° Π»Π°ΠΆΠΈΡΠ°ΡΠ΅ Π½Π° rp_filter, Π½Π΅Π²Π°ΠΆΠ΅ΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΡΠΌΠ°, Π±Π΅Π· ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° IPSec XFRM, Π½Π΅Π²Π°ΠΆΠ΅ΡΠΊΠΈ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠΊΠΈ Π±ΡΠΎΡ TCP ΠΈΡΠ½.
- ΠΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»Π°Ρ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ BPF Π»Π°Π½ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΡ BPF_PROG_RUN, Π²ΠΎ ΠΊΠΎΡ BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ Π²ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ, Π½ΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΡΠ΅ Π²ΡΠ°ΡΠ° Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ. ΠΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°Π°Ρ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ XDP (eXpress Data Path). ΠΠΎΠ΄Π΄ΡΠΆΠ°Π½ Π΅ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π²ΠΎ ΠΆΠΈΠ²ΠΎ, Π²ΠΎ ΠΊΠΎΡ XDP ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΏΡΠ΅Π½Π°ΡΠΎΡΡΠ²Π° ΠΌΡΠ΅ΠΆΠ½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π²ΠΎ Π»Π΅Ρ Π΄ΠΎ ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΠΎΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ Π΄ΡΡΠ³ΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π°Ρ ΡΠΎΡΡΠ²Π΅ΡΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΈ Π½Π° Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΌΠ΅Π½Π°Ρ ΠΌΡΠ΅ΠΆΠ½ΠΈΡΠ΅ ΡΠ°ΠΌΠΊΠΈ Π²ΠΎ ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΠΎΡΠ°ΠΊ.
- ΠΠ° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ ΠΏΡΠΈΠΊΠ°ΡΠ΅Π½ΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠ½ΠΈΡΠ΅ cΠ³ΡΡΠΏΠΈ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΠ΅ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ²ΡΠ°ΡΠ½Π°ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠΈ, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ°Ρ ΠΏΠΎΡΠ΅Π»ΠΎΡΠ½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΠΏΠΎΠ²ΠΈΠΊ.
- ΠΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ XDP (eXpress Data Path) Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π±Π°ΡΠ΅ΡΠΈ, ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°ΡΠ΅ Jumbo ΡΠ°ΠΌΠΊΠΈ Π²ΠΎ XDP ΠΈ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ TSO/GRO (TCP Segmentation Offload/Generic Receive Offload) Π·Π° XDP_REDIRECT.
- ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ Π·Π°Π±ΡΠ·Π°Π½ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° Π±ΡΠΈΡΠ΅ΡΠ΅ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΡΠΎΡΡΠΎΡΠΈ ΡΠΎ ΠΈΠΌΠΈΡΠ°, ΡΡΠΎ Π±Π΅ΡΠ΅ Π±Π°ΡΠ°Π½ΠΎ ΠΊΠ°Ρ Π½Π΅ΠΊΠΎΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ Π³ΠΎΠ»Π΅ΠΌ ΠΎΠ±Π΅ΠΌ Π½Π° ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ.
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠ²ΠΈΠ³Π°ΡΠ΅Π»ΠΎΡ amdgpu ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π²ΠΊΠ»ΡΡΡΠ²Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° Π·Π° Π°Π΄Π°ΠΏΡΠΈΠ²Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ° FreeSync, ΠΊΠΎΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ° ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΠΈΡΠ΅ ΡΡΠ°ΠΏΠΊΠ°ΡΠ° Π½Π° ΠΎΡΠ²Π΅ΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈΡΠ΅ Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΡΠΈ ΠΌΠ°Π·Π½ΠΈ ΠΈ Π±Π΅Π· ΠΊΠΈΠ½Π΅ΡΠ΅ ΡΠ»ΠΈΠΊΠΈ Π΄ΠΎΠ΄Π΅ΠΊΠ° ΠΈΠ³ΡΠ°ΡΠ΅ ΠΈΠ³ΡΠΈ ΠΈ Π³Π»Π΅Π΄Π°ΡΠ΅ Π²ΠΈΠ΄Π΅Π°. ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Aldebaran Π΅ Π½Π°ΡΠ°Π²Π΅Π½Π° ΠΊΠ°ΠΊΠΎ ΡΡΠ°Π±ΠΈΠ»Π½Π°.
- ΠΡΠ°ΡΠ²Π΅ΡΠΎΡ i915 Π΄ΠΎΠ΄Π°Π²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Intel Alderlake N ΡΠΈΠΏΠΎΠ²ΠΈ ΠΈ Intel DG2-G12 Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΊΠ°ΡΡΠΈΡΠΊΠΈ (Arc Alchemist).
- ΠΠ²ΠΈΠ³Π°ΡΠ΅Π»ΠΎΡ nouveau ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΠΎΠ²ΠΈΡΠΎΠΊΠΈ Π±ΡΠ·ΠΈΠ½ΠΈ Π½Π° Π±ΠΈΡΠΎΠ²ΠΈ Π·Π° DP/eDP ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° lttprs (Link-Training Tunable PHY Repeaters) ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π°ΡΠΈ Π½Π° ΠΊΠ°Π±Π»ΠΈ.
- ΠΠΎ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ drm (Direct Rendering Manager) Π²ΠΎ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ armada, exynos, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen ΠΈ vc4 ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ nomodeset, ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΡΠ΅ ΠΏΡΠ΅ΡΡΠ»ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ ΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° Π·Π°Π±ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΠΎΡ, ΠΎΡΡΠ°Π²Π°ΡΡΠΈ ΡΠ° ΡΠ°ΠΌΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° ΠΏΠΎΠ²ΡΠ·Π°Π½Π° ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ Π±Π°ΡΠ΅Ρ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ°.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ARM SoΠ‘ Qualcomm Snapdragon 625/632 (ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΈ LG Nexus 5X ΠΈ Fairphone FP3), Samsung Exynos 850, Samsung Exynos 7885 (ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ Samsung Galaxy A8), Airoha (Mediatek/EcoNet) EN7523, MEDIATEK 6582 ΡΠ°Π±Π»Π΅Ρ 5008G), Microchip Lan3, Renesas RZ/G966LC, RZ/V2L, Tesla FSD, TI K2/AM3 ΠΈ i.MXRTxxxx.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ARM ΡΡΠ΅Π΄ΠΈ ΠΈ ΡΠ°Π±Π»ΠΈ ΠΎΠ΄ Broadcom (Raspberry Pi Zero 2 W), Qualcomm (Google Herobrine R1 Chromebook, SHIFT6mq, Samsung Galaxy Book2), Rockchip (Pine64 PineNote, Bananapi-R2-Pro, STM32 Emtrion emSBS, Samsung Galaxy Tab S , Prestigio PMT5008 3G ΡΠ°Π±Π»Π΅Ρ), Allwinner (A20-Marsboard), Amlogic (Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max, Amlogic AQ222 ΠΈ OSMC Vero 4K+), Aspeed (Quanta SHRock M6QOMll), / Armada (Ctera C8 V3 ΠΈ V200 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (Protonic PRT1MM, emCON-MX2M Mini, Toradex Verdin, Gateworks GW8).
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π·Π²ΡΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΊΠΎΠ΄Π΅ΡΠΈ AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΡΠ΅ΡΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° Π·Π²ΡΠΊ Π·Π° Intel AVS DSP ΡΠΈΠΏ. ΠΠΆΡΡΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ Π·Π° Intel ADL ΠΈ Tegra7280 ΠΈ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° Π°ΡΠ΄ΠΈΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π½Π° ΡΡΠ΅Π΄ΠΈΡΠ΅ Dell, HP, Lenovo, ASUS, Samsung ΠΈ Clevo.
ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΠ°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠ°ΡΠ° Π€ΠΎΠ½Π΄Π°ΡΠΈΡΠ° Π·Π° ΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½ ΡΠΎΡΡΠ²Π΅Ρ ΡΠΎΡΠΌΠΈΡΠ°ΡΠ΅ Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠ±ΠΎΠ΄Π½ΠΎΡΠΎ ΡΠ°Π΄ΡΠΎ 5.18 - Linux-libre 5.18-gnu, ΠΈΡΡΠΈΡΡΠ΅Π½ΠΎ ΠΎΠ΄ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΠΈΡΠΌΠ²Π΅ΡΠΎΡ ΠΈ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ ΠΊΠΎΠΈ ΡΠΎΠ΄ΡΠΆΠ°Ρ Π½Π΅ΡΠ»ΠΎΠ±ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈΠ»ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ ΠΊΠΎΠ΄, ΡΠΈΡ ΠΎΠΏΡΠ΅Π³ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΠΎΠ΄ ΡΡΡΠ°Π½Π° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΎΡ. ΠΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΠΈ ΡΠΈΡΡΠΈ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈΡΠ΅ Π·Π° MIPI DBI ΠΏΠ°Π½Π΅Π»ΠΈΡΠ΅, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) ΠΈ Realtek 8852a/8852c, Intel AVS ΠΈ Texas Instruments TAS5805M Π·Π²ΡΡΠ½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²ΠΈ. ΠΠ°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ DTS Π±Π΅Π° ΠΈΡΡΠΈΡΡΠ΅Π½ΠΈ ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Qualcomm SoC ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° AArch64. ΠΠΆΡΡΠΈΡΠ°Π½ ΠΊΠΎΠ΄ Π·Π° ΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π΄Π°ΠΌΠΊΠΈ Π²ΠΎ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ ΠΈ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° AMD GPU, MediaTek MT7915, Silicon Labs WF200+ WiFi, Mellanox Spectru Ethernet, Realtek rtw8852c, Qualcomm Q6V5, Wolfson ADSP, MediaTek HCI UART.
ΠΠ·Π²ΠΎΡ: opennet.ru