Π‘Π»Π΅Π΄ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ Π²Π΅ΡΡΠΈΡ 5.11 Π½Π° ΡΠ΄ΡΠΎΡΠΎ Linux. Π‘ΡΠ΅Π΄ Π½Π°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ: ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°Π½ΠΊΠ»Π°Π²ΠΈ Intel SGX, Π½ΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΏΡΠΈΡ Π²Π°ΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ, Π²ΠΈΡΡΡΠ°Π»Π½Π° ΡΠΈΠ½Π° auxiliary, Π·Π°Π±ΡΠ°Π½Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π±Π΅Π· MODULE_LICENSE(), ΡΠ΅ΠΆΠΈΠΌ Π·Π° Π±ΡΡΠ·ΠΎ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π² seccomp, ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ia64, ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° WiMAX Π² ΠΊΠ»ΠΎΠ½ βstagingβ, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»Π°ΡΠΈΡ Π½Π° SCTP Π² UDP.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ 15480 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ 1991 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΏΠ°ΡΡΠ° Π΅ 72 MB (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°ΡΡΠ³Π°Ρ 12090 ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° 868025 ΡΠ΅Π΄Π° ΠΊΠΎΠ΄, ΠΈΠ·ΡΡΠΈΡΠΈ ΡΠ° 261456 ΡΠ΅Π΄Π°). ΠΠΊΠΎΠ»ΠΎ 46% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ Π² 5.11 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 16% ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, 13% ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ, 3% Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ 4% Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ:
- ΠΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Ρ
ΠΎΠ΄/ΠΈΠ·Ρ
ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ
- Π Btrfs Π±ΡΡ Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΈΡΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΏΡΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΏΠΎΠ²ΡΠ΅Π΄Π΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°: βrescue=ignorebadrootsβ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈΡΠ΅ Π½Π° Π½ΡΠΊΠΎΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π΄ΡΡΠ²Π΅ΡΠ° (extent, uuid, data reloc, device, csum, free space), βrescue=ignoredatacsumsβ Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΡΠΌΠΈ Π·Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ βrescue=allβ Π·Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ βignorebadrootsβ, βignoredatacsumsβ ΠΈ βnologreplayβ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΎΠΏΡΠΈΡΡΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ βinode_cacheβ, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΎΠ±ΡΠ²Π΅Π½Π° Π·Π° ΠΎΡΡΠ°ΡΡΠ»Π°, Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π°. ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ Π΅ ΠΊΠΎΠ΄ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΠΎΡ ΡΡΡΠ°Π½ΠΈΡΠ° (PAGE_SIZE), ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌ Π·Π° Π·ΠΎΠ½ΠΈΡΠ°Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡΡΡΠΎ. ΠΠ΅Π±ΡΡΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ (Direct IO) Π·Π°ΡΠ²ΠΊΠΈ ΡΠ° ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΈ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° iomap. ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π΄ΠΈΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΡΠΎ Π² Π½ΡΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π½Π΅ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΡΠ΅Π½ΡΠΈ.
- Π XFS Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΠ»Π°Π³ βneedsrepairβ, ΠΊΠΎΠΉΡΠΎ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π·Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅. ΠΡΠΈ Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΡΠ»Π°Π³ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π°, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ»Π°Π³ΡΡ Π½Π΅ Π±ΡΠ΄Π΅ Π½ΡΠ»ΠΈΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠΈΠ»ΠΈΡΠ° xfs_repair.
- Π Ext4 ΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΠ°ΠΌΠΎ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π°.
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ Π΅ΠΊΡΠΏΠΎΡΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈ Π½Π°Π΄ NFS (Ρ.Π΅. ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈΡΡ ΡΡΠ΅Π· NFS Π΄ΡΠ» Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½ ΡΡΠ΅Π· NFS ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΊΠ°ΡΠΎ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ ΠΊΠ΅Ρ).
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΠΏΠΎΠ²ΠΈΠΊ close_range(), ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π΄Π° Π·Π°ΡΠ²ΠΎΡΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ CLOSE_RANGE_CLOEXEC Π·Π° Π·Π°ΡΠ²Π°ΡΡΠ½Π΅ Π½Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈΡΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌ close-on-exec.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° F2FS ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° ioctl(), ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΊΠΎΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ Π²ΠΈΠ΄. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Β«compress_mode=Β» Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ, ΠΊΠΎΠΉΡΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡ ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈΠ»ΠΈ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π° Overlayfs ΠΎΡ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ (user namespace). ΠΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ ΠΌΠΎΠ΄Π΅Π»Π° Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ ΠΏΡΠ»Π΅Π½ ΠΎΠ΄ΠΈΡ Π½Π° ΠΊΠΎΠ΄Π°. Π Overlayfs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΏΠΈΡ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΠ΅Π· ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° UUID.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Ceph Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ» msgr2.1, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° AES-GCM Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ Π²ΠΈΠ΄.
- Π ΠΌΠΎΠ΄ΡΠ»Π° dm-multipath Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π½Π° ΠΏΡΠΈΠ²ΡΡΠ·Π°Π½ΠΎΡΡΡΠ° ΠΊΡΠΌ CPU (Β«IO affinityΒ») ΠΏΡΠΈ ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΌΠ°ΡΡΡΡΡ Π·Π° Π²Ρ ΠΎΠ΄Π½ΠΎ/ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ.
- ΠΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΏΡΠΈΡ Π²Π°ΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° prctl() ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΏΠΎΠ²ΠΈΠΊ ΠΈ Π΄Π° Π΅ΠΌΡΠ»ΠΈΡΠ° Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. Π£ΠΊΠ°Π·Π°Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π΅ ΡΡΡΡΠ΅Π½Π° Π² Wine ΠΈ Proton Π·Π° Π΅ΠΌΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° Windows, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΠΈΠ³ΡΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ, Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠΉΠΊΠΈ Windows API (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅).
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΠΏΠΎΠ²ΠΈΠΊ userfaultfd(), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° page faults (ΠΎΠ±ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π½Π΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°) Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π²ΡΠ·Π½ΠΈΠΊΠ²Π°ΡΠΈ Π½Π° Π½ΠΈΠ²Π° Π½Π° ΡΠ΄ΡΠΎΡΠΎ, Π·Π° ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° BPF Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎ Π·Π° Π·Π°Π΄Π°ΡΠ°ΡΠ° (task-local storage), ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΡΠΎ ΠΏΡΠΈΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΊΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ BPF ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ.
- ΠΠ°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ Π΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ BPF β Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² BPF ΠΎΠ±Π΅ΠΊΡΠΈ Π²ΠΌΠ΅ΡΡΠΎ memlock rlimit Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ cgroup.
- Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° BTF (BPF Type Format), ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π² ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ BPF, Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
- Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ io_uring Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ shutdown(), renameat2() ΠΈ unlinkat(). ΠΡΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° io_uring_enter() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡ (ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡ Ρ ΡΠ»Π°Π³Π° IORING_FEAT_EXT_ARG).
- ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ia64, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Intel Itanium, Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½Π° Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° Π½Π° ΠΎΡΡΠ°Π²Π΅Π½ΠΈΡΠ΅ Π±Π΅Π· ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° (βorphanedβ), ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅. ΠΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Hewlett Packard Enterprise ΡΠΏΡΡ ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΡΠΊΠΈ Π·Π° Π½ΠΎΠ²ΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ Itanium, Π° Intel Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ²Π° ΠΎΡΠ΅ ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°.
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° MicroBlaze, Π±Π΅Π· ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ (MMU). Π’Π°ΠΊΠΈΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡΠ΄Π°Π²Π½Π° Π½Π΅ ΡΠ΅ ΡΡΠ΅ΡΠ°Ρ Π² ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ°.
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° MIPS Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° (coverage testing) Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° gcov.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΡΠΈΠ½Π° auxiliary Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠΈ, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΊΠ°ΡΡΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Ethernet ΠΈ RDMA). Π¨ΠΈΠ½Π°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π½Π°Π·Π½Π°ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΈ Π²ΡΠΎΡΠΈΡΠ΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΠΈΡΠΎ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° MFD (Multi-Function Devices).
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ CMA (Contiguous Memory Allocator), ΠΊΠΎΡΡΠΎ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° Π½Π°Π·Π½Π°ΡΠ°Π²Π°Π½Π΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ. ΠΠ° RISC-V ΡΡΡΠΎ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ /dev/mem ΠΈ Π·Π° ΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ.
- ΠΠ° 32-Π±ΠΈΡΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ARM Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π·Π° Π΄Π΅Π±ΡΠ³Π²Π°Π½Π΅ KASan (Kernel address sanitizer), ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ° 64-Π±ΠΈΡΠΎΠ²ΠΈ ARM ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° KASan Π΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½Π° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈ MTE (MemTag).
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ epoll_pwait2(), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡΠΈ Ρ Π½Π°Π½ΠΎΡΠ΅ΠΊΡΠ½Π΄Π½Π° ΡΠΎΡΠ½ΠΎΡΡ (ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ epoll_wait ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ° Ρ ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ).
- Π ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ±ΠΎΡΠΊΠ° Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ Π½Π° Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΎΠΏΠΈΡ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°ΡΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΡΡΠ΅Π· ΠΌΠ°ΠΊΡΠΎΡΠ° MODULE_LICENSE() Π½Π΅ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π·Π° ΠΊΠΎΠ΄Π°. ΠΡΠ΅ΡΠΊΠ°ΡΠ° ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°ΠΊΡΠΎΡΠ° EXPORT_SYMBOL() Π·Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ°ΠΏΠΈΡΠ°Π½Π΅ Π½Π° GEM-ΠΎΠ±Π΅ΠΊΡΠΈ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠΊΠΎΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ framebuffer-a Π½Π° Π½ΡΠΊΠΎΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ.
- Π Kconfig Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Qt4 (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Qt5, GTK ΠΈ Ncurses ΠΎΡΡΠ°Π²Π°).
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΠΈΠ·ΠΈΠ·ΠΎΠ² seccomp() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π±ΡΡΠ·ΠΎ ΡΠ΅Π°Π³ΠΈΡΠ°Π½Π΅, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π΄Π°Π»ΠΈ Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ ΠΈΠ»ΠΈ Π·Π°Π±ΡΠ°Π½Π΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΈΠ·ΠΈΠ·ΠΎΠ² Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ΅Π½Π°ΡΠ° ΠΊΡΠΌ ΠΏΡΠΎΡΠ΅ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° Ρ ΠΏΡΠ°Π²Π° (constant-action bitmap), ΠΊΠΎΡΡΠΎ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° BPF-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ.
- ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π°Π½ΠΊΠ»Π°Π²ΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Intel SGX (Software Guard eXtensions), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΊΠΎΠ΄ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΠΊΠΎΠΈΡΠΎ ΠΎΡ ΠΎΡΡΠ°Π½Π°Π»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½.
- Π ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π°ΡΠ° Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ΅ Π½Π° MSR (model-specific register) Π΅ Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° MSR_IA32_ENERGY_PERF_BIAS, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ΠΆΠΈΠΌΡΡ Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΠΉΠ½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° (Β«normalΒ», Β«performanceΒ», Β«powersaveΒ»).
- ΠΡ ΠΊΠ»ΠΎΠ½Π° kernel-rt Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π½Π° Π²ΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ CPU.
- ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ARM64 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΠ°Π³ΠΎΠ²Π΅ MTE (MemTag, Memory Tagging Extension) Π·Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° MTE ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΡΡΠ΅Π· Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΡΡΠ° SA_EXPOSE_TAGBITS Π² sigaction() ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ Ρ ΡΠ΅Π» Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈ ΠΎΡ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²Π΅ΡΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΏΠ°ΠΌΠ΅Ρ, ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ°, Π΄ΠΎΡΡΡΠΏΠΈ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΈΠ·Π²ΡΠ½ ΡΠ΅ΠΊΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΡΡ Β«DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRINGΒ», ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° dm-verity Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Ρ Π΅Ρ-ΡΠΈΠ³Π½Π°ΡΡΡΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π²ΡΠ² Π²ΡΠΎΡΠΈΡΠ½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ (keyring). ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅, Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ, Π½ΠΎ ΠΈ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅, Π·Π°ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅ Π±Π΅Π· ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΠΎΡΠΎ ΡΠ΄ΡΠΎ.
- Π User-mode Linux Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌ suspend-to-idle, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π·Π°ΠΌΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³Π½Π°Π»Π° SIGUSR1 Π·Π° ΡΡΠ±ΡΠΆΠ΄Π°Π½Π΅ ΠΎΡ ΡΠΏΡΡ ΡΠ΅ΠΆΠΈΠΌ.
- Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° virtio-mem, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π³ΠΎΡΠ΅ΡΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΊΡΠΌ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° Π³ΠΎΠ»ΡΠΌ Π±Π»ΠΎΠΊ (BBM, Big Block Mode), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅, Π½Π°Π΄Π²ΠΈΡΠ°Π²Π°ΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΠ΄ΡΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° VFIO Π² QEMU.
- Π ΡΠ°Π±ΠΎΡΠ΅ΡΠ°ΡΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΄ΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° TLS Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΡΡΡΠ° CHACHA20-POLY1305.
- ΠΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠ° 802.1Q (VLAN) Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ ΠΏΡΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ (CFM, Connectivity Fault Management), ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅, Π²Π΅ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ Π² ΠΌΡΠ΅ΠΆΠΈ Ρ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠΎΡΡΠΎΠ²Π΅ (Virtual Bridged Networks). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, CFM ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΠΌΡΠ΅ΠΆΠΈ, ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΠΎ ΡΠΈ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»Π°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SCTP Π² UDP-ΠΏΠ°ΠΊΠ΅ΡΠΈ (RFC 6951), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° SCTP Π² ΠΌΡΠ΅ΠΆΠΈ ΡΡΡ ΡΡΠ°ΡΠΈ Π°Π΄ΡΠ΅ΡΠ½ΠΈ ΡΡΠ°Π½ΡΠ»Π°ΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ SCTP, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° SCTP Π² ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΡΡΠΊ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ IP ΡΠ»ΠΎΡ.
- Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° WiMAX Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½Π° Π² staging ΠΈ Π² Π±ΡΠ΄Π΅ΡΠ΅ Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π° Π·Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅, Π°ΠΊΠΎ Π½Π΅ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ WiMAX. WiMAX Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΈ, Π° Π² ΡΠ΄ΡΠΎΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ, Ρ ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° WiMAX, ΠΎΡΡΠ°Π²Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Intel 2400m. Π ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ NetworkManager ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° WiMAX Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΡΠ΅Π· 2015 Π³ΠΎΠ΄ΠΈΠ½Π°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° WiMAX ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π·Π°ΠΌΠ΅ΡΡΠ΅Π½Π° ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠ°ΡΠΎ LTE, HSPA+ ΠΈ Wi-Fi 802.11n.
- ΠΠ·Π²ΡΡΡΠ΅Π½Π° Π΅ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²Ρ ΠΎΠ΄ΡΡ TCP ΡΡΠ°ΡΠΈΠΊ Π² ΡΠ΅ΠΆΠΈΠΌ zerocopy, Ρ.Π΅. Π±Π΅Π· Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠΏΠΈΡ Π² Π½ΠΎΠ²ΠΈ Π±ΡΡΠ΅ΡΠΈ. ΠΠ° ΡΡΠ°ΡΠΈΠΊ ΡΡΡ ΡΡΠ΅Π΄Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΎΠ±Ρ Π²Π°ΡΠ°Ρ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠΎΡΠΈΡΠΈ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ° Π΄Π°Π½Π½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° zerocopy Π²ΠΌΠ΅ΡΡΠΎ recvmsg() Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΎ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΡΠ°ΡΠΈΠΊ Π² ΡΡΠΈΠ» RPC Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ 32 ΠΠ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° zerocopy Ρ 60-70%.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ ioctl() Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΌΠΎΡΡΠΎΠ²Π΅, ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ°Π½Π°Π»Π° PPP. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΊΠ°Π΄ΡΠΈΡΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Ρ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΊΠ°Π½Π°Π» Π² Π΄ΡΡΠ³, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡ PPPoE Π² ΡΠ΅ΡΠΈΡ PPPoL2TP.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½Π° Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° MPTCP (MultiPath TCP), ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° TCP ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° TCP ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ°ΡΡΡΡΡΠ° ΠΏΡΠ΅Π· ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ. Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΠΏΡΠΈΡΡΠ° ADD_ADDR Π·Π° ΠΎΠ±ΡΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ IP Π°Π΄ΡΠ΅ΡΠ° ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΠΎΡΠΎΡΠΈ ΠΊΡΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΎ MPTCP ΡΠ²ΡΡΠ·Π²Π°Π½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈ ΠΏΡΠ΅Π²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π±ΡΠ΄ΠΆΠ΅ΡΠ° Π·Π° ΠΏΠΎΠ»Π»ΠΈΠ½Π³ Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ (busy-polling). ΠΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ SO_BUSY_POLL ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π°ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° softirq ΠΏΡΠΈ ΠΈΠ·ΡΠ΅ΡΠΏΠ²Π°Π½Π΅ Π½Π° Π±ΡΠ΄ΠΆΠ΅ΡΠ°. ΠΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΠΎΠ»Π»ΠΈΠ½Π³, Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡ SO_PREFER_BUSY_POLL.
- Π IPv6 Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ SRv6 End.DT4 ΠΈ End.DT6, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ IPv4 L3 VPN ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° VRF (Virtual routing and forwarding).
- Π Netfilter Π΅ ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΈΠ·ΡΠ°Π·ΠΈΡΠ΅ set, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ·ΡΠ°Π·Π° Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΎΡ set-ΡΠΏΠΈΡΡΡΠΈΡΠ΅.
- Π Π±Π΅Π·ΠΆΠΈΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ 802.11 ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ API Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Π½Π° ΠΌΠΎΡΠ½ΠΎΡΡΡΠ° SAR, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ AE PWE ΠΈ HE MCS. Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Intel iwlwifi Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° 6GHz (Ultra High Band). Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Qualcomm Ath11k Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π·Π° Π±ΡΡΠ·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ FILS (Fast Initial Link Setup, ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠ°Π½Π° ΠΊΠ°ΡΠΎ IEEE 802.11ai), ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° Π·Π°Π±Π°Π²ΡΠ½ΠΈΡΡΠ° ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΠ½Π³ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΎΡ ΡΠΎΡΠΊΠ° Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΊΡΠΌ Π΄ΡΡΠ³Π°.
- ΠΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° amdgpu Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° APU AMD βGreen Sardineβ (Ryzen 5000) ΠΈ GPU βDimgrey Cavefishβ (Navi 2), ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° APU AMD Van Gogh Ρ ΡΠ΄ΡΠΎ Zen 2 ΠΈ GPU RDNA 2 (Navi 2). ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½ΠΎΠ²ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ APU Renoir (Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° CPU Zen 2 CPU ΠΈ GPU Vega).
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° i915 Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΈΡΠ΅ Intel Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° IS (Integer scaling) Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠΈΠ»ΡΡΡ Π·Π° ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΌΠ°ΡΠ°Π±Π°, ΠΎΡΡΠΈΡΠ°ΠΉΠΊΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΏΠΈΠΊΡΠ΅Π»ΠΈ (ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»Π°ΡΠΈΡ Nearest-neighbor) Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ²Π΅ΡΠ° Π½Π° ΠΎΡΡΡΡΡΠ²Π°ΡΠΈΡΠ΅ ΠΏΠΈΠΊΡΠ΅Π»ΠΈ. Π Π°Π·ΡΠΈΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΈ ΠΊΠ°ΡΡΠΈ Intel DG1. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° βBig Joinerβ, Π½Π°Π»ΠΈΡΠ½Π° ΠΎΡ ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Ice Lake / Gen11, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΡΡΠ°Π½ΡΠΊΠΎΠ΄Π΅Ρ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π²Π° ΠΏΠΎΡΠΎΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ Π½Π° 8K Π΅ΠΊΡΠ°Π½ ΠΏΡΠ΅Π· Π΅Π΄ΠΈΠ½ DisplayPort. ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π° Π±ΡΡΠ΅ΡΠ° Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΠ΅ΡΡΠ° (async flip).
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° nouveau Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° GPU NVIDIA, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° βAmpereβ (GA100, GeForce RTX 30xx), ΠΊΠΎΡΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π² ΡΡΠ΅Π΄ΡΡΠ²Π°ΡΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° 3WIRE, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² LCD ΠΏΠ°Π½Π΅Π»ΠΈΡΠ΅. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈΡΠ΅ novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 ΠΈ ABT Y030XX067A 3.0. ΠΠΎΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΠ°Π½Π΅Π»Π° Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈΡΠ΅ OnePlus 6 ΠΈ 6T, ΠΊΠΎΡΡΠΎ Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ Π½Π΅ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΎ ΡΠ΄ΡΠΎ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΡΠ²ΠΈΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ΅Π½ USB4 Ρ ΠΎΡΡ-ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Intel Maple Ridge.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°ΡΠ΄ΠΈΠΎ ΠΊΠΎΠ΄Π΅ΡΠΈ Allwinner H6 I2S, Analog Devices ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI ΠΈ XCVR, Realtek RT715 ΠΈ Qualcomm SM8250.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ARM ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192/MT6779/MT8167, MStar Infinity2M, Nuvoton NPCM730, Marvell Armada 382, Mikrotik Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Marvell Prestera 98DX3236, ΡΡΡΠ²ΡΡΠΈ Ρ Nuvoton NPCM750 BMC, Kontron i.MX8M Mini, Espressobin Ultra, Chromebook βTrogdorβ, Kobol Helios64, Engicam PX30.Core.
- ΠΠ³ΡΠ°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ³ΡΠΎΠ²Π°ΡΠ° ΠΊΠΎΠ½Π·ΠΎΠ»Π° Ouya, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° NVIDIA Tegra 3.
ΠΠ΅ΠΆΠ΄ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΠ°ΡΠΈΠ½ΡΠΊΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΡΡ Π€ΠΎΠ½Π΄ Π·Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ ΡΡΠ·Π΄Π°Π΄Π΅ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΡΠΎ ΡΠ΄ΡΠΎ 5.11 β Linux-libre 5.11-gnu, ΠΏΠΎΡΠΈΡΡΠ΅Π½ΠΎ ΠΎΡ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΡΡΠΌΡΠ΅Ρ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ Π½Π΅ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΡΡΠΈ ΠΎΡ ΠΊΠΎΠ΄, ΡΠΈΡΡΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π° Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ. Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΎ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Π·Π° qat_4xxx (crypto), lt9611uxcm (dsi/hdmi bridge), ccs/smia++ (ΡΠ΅Π½Π·ΠΎΡ), ath11k_pci, nxp audio transceiver ΠΈ mhi pci controller. ΠΠ±Π½ΠΎΠ²Π΅Π½ Π΅ ΠΊΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠ±ΠΎΠ²Π΅ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ amdgpu, btqca, btrtl, btusb, i915 csr. ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠ±ΠΎΠ²Π΅ Π² m3 rproc, idt82p33 ptp clock ΠΈ qualcomm arm64.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
