ΠΠ°ΠΊΠΎΠ½ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·Π²ΠΎΡΠ°, ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ ΡΠ΅ ΠΎΠ±ΡΠ°Π²ΠΈΠΎ ΡΠ΅Π·Π³ΡΠΎ. Linux 6.18. ΠΠ΅ΡΡ Π½Π°ΡΠ·Π½Π°ΡΠ°ΡΠ½ΠΈΡΠΈΠΌ ΠΏΡΠΎΠΌΠ΅Π½Π°ΠΌΠ°: dm-pcache Π·Π° ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ Π΄ΠΈΡΠΊΠ° Ρ Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²ΠΎΡ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΈ (PMEM), ΡΠΊΠ»Π°ΡΠ°ΡΠ΅ Bcachefs-Π°, ΡΠ΅ΠΆΠΈΠΌ ΠΎΠ½Π»Π°ΡΠ½ ΠΏΡΠΎΠ²Π΅ΡΠ΅ XFS-Π°, Binder Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ (Android IPC) ΠΈ Tyr (GPU Mali) Ρ Rust-Ρ, ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ° USB Π΄ΡΠ°ΡΠ²Π΅ΡΠ° Ρ Rust-Ρ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° ΠΊΠ΅ΡΠΈΡΠ°ΡΠ° Ρ SLUB Π°Π»ΠΎΠΊΠ°ΡΠΎΡΡ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ΅, Π°Π΄ΡΠ΅ΡΠΈΡΠ°ΡΠ΅ ΠΈΠΌΠ΅Π½ΡΠΊΠΎΠ³ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΏΠΎΠΌΠΎΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°, ΡΠ±ΡΠ·Π°Π²Π°ΡΠ΅ swap-Π°, Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈΠΌ ΠΏΠΎΡΠΏΠΈΡΠΎΠΌ, Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Intel CET-Π° Ρ KVM-Ρ, PSP ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» (Ρ ΠΈΠ±ΡΠΈΠ΄ TLS-Π° ΠΈ IPsec-Π°), ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° AccECN IP Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΡ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° UDP ΡΡΠ΅ΠΊΠ°.
ΠΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ° ΡΠΊΡΡΡΡΡΠ΅ 15035 ΠΈΡΠΏΡΠ°Π²ΠΊΠΈ ΠΎΠ΄ 2217 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠ°, Π²Π΅Π»ΠΈΡΠΈΠ½Π° Π·Π°ΠΊΡΠΏΠ΅ ΡΠ΅ 45 MB (ΠΏΡΠΎΠΌΠ΅Π½Π΅ ΡΡ ΡΡΠΈΡΠ°Π»Π΅ Π½Π° 13142 Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°, Π΄ΠΎΠ΄Π°ΡΠΎ ΡΠ΅ 601897 Π»ΠΈΠ½ΠΈΡΠ° ΠΊΠΎΠ΄Π°, ΠΎΠ±ΡΠΈΡΠ°Π½ΠΎ ΡΠ΅ 355006 Π»ΠΈΠ½ΠΈΡΠ°). ΠΠΎΡΠ»Π΅Π΄ΡΠ΅ ΠΈΠ·Π΄Π°ΡΠ΅ ΡΠ΅ ΠΈΠΌΠ°Π»ΠΎ 14334 ΠΈΡΠΏΡΠ°Π²ΠΊΠΈ ΠΎΠ΄ 2118 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠ°, Π²Π΅Π»ΠΈΡΠΈΠ½Π° Π·Π°ΠΊΡΠΏΠ΅ ΡΠ΅ Π±ΠΈΠ»Π° 46 MB. ΠΠΊΠΎ 40% ΡΠ²ΠΈΡ ΠΏΡΠΎΠΌΠ΅Π½Π° ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Ρ Π²Π΅ΡΠ·ΠΈΡΠΈ 6.18 ΠΎΠ΄Π½ΠΎΡΠΈ ΡΠ΅ Π½Π° Π΄ΡΠ°ΡΠ²Π΅ΡΠ΅ ΡΡΠ΅ΡΠ°ΡΠ°, ΠΎΠΊΠΎ 16% ΠΏΡΠΎΠΌΠ΅Π½Π° ΡΠ΅ ΠΎΠ΄Π½ΠΎΡΠΈ Π½Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ΄Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ Π·Π° Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅, 12% ΡΠ΅ ΠΎΠ΄Π½ΠΎΡΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΡΠ΅ΠΊ, 5% ΡΠ΅ ΠΎΠ΄Π½ΠΎΡΠΈ Π½Π° ΡΠ°ΡΠ» ΡΠΈΡΡΠ΅ΠΌΠ΅, Π° 3% ΡΠ΅ ΠΎΠ΄Π½ΠΎΡΠΈ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ΅Π·Π³ΡΠ°.
ΠΠ»Π°Π²Π½Π΅ Π½ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅ Ρ ΡΠ΅Π·Π³ΡΡ 6.18 (1, 2, 3):
- ΠΠΈΡΠΊΠΎΠ²Π½ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ, Π/Π ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°
- Π ΡΠΊΠΎΠ²Π°Π»Π°Ρ dm-pcache ΡΠ΅ Π΄ΠΎΠ΄Π°Ρ Ρ Device Mapper Π΄Π° Π±ΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠ»Π° ΠΏΠ΅ΡΠ·ΠΈΡΡΠ΅Π½ΡΠ½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° (CXL ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π° ΠΏΡΠ΅ΠΊΠΎ DAX ΡΡΠ΅ΡΠ°ΡΠ°) ΠΊΠ°ΠΎ Π΄ΠΎΠ΄Π°ΡΠ½ΠΈ ΠΊΠ΅Ρ Π²ΠΈΡΠΎΠΊΠΈΡ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΠΈΡΠΏΡΠ΅Π΄ ΡΠΏΠΎΡΠΈΡΠ΅Π³ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΎΠ³ Π΄ΠΈΡΠΊΠ° ΠΈΠ»ΠΈ ΡΠ»Π΅Ρ Π΄ΠΈΡΠΊΠΎΠ²Π°. Dm-pcache ΠΎΡΠΈΠ³ΡΡΠ°Π²Π° Π΄Π° ΡΠ΅ ΡΠ°Π΄ΡΠΆΠ°Ρ ΠΊΠ΅ΡΠ° ΡΠ°ΡΡΠ²Π° Ρ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠ°Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ° (Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΏΠ°Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ°) ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΠΌ Π½Π΅ΠΈΡΠΏΠ°ΡΡΠΈΠ²Π΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ΅, Π΄ΡΠΏΠ»ΠΈΡΠ°ΡΠ΅ΠΌ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΏΠΎΠΌΠΎΡΡ CRC32 ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡ Π·Π±ΠΈΡΠ°. Π’ΡΠ΅Π½ΡΡΠ½ΠΎ ΡΠ΅ ΠΏΠΎΠ΄ΡΠΆΠ°Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ ΡΠ° ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΈΠΌ ΠΏΠΈΡΠ°ΡΠ΅ΠΌ.
- ΠΠΎΠ΄ ΡΠ°ΡΠ» ΡΠΈΡΡΠ΅ΠΌΠ° Bcachefs ΡΠ΅ ΡΠΊΠ»ΠΎΡΠ΅Π½ ΠΈΠ· ΡΠ΅Π·Π³ΡΠ° ΠΈ ΡΠ°Π΄Π° ΡΠ΅ Π±ΠΈΡΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ ΠΊΠ°ΠΎ Π΅ΠΊΡΡΠ΅ΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ» ΠΈΠ·Π³ΡΠ°ΡΠ΅Π½ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΠΌ DKMS (Dynamic Kernel Module Support) Π°Π»Π°ΡΠ°. ΠΠΎΠ΄ Bcachefs ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΡΠ²Π΅Π΄Π΅Π½ Ρ ΡΠ΅Π·Π³ΡΠΎ Π½Π°ΠΊΠΎΠ½ ΡΡΠΎ ΠΠ΅Π½Ρ ΠΠ²Π΅ΡΡΡΡΠΈΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΡΠ²ΠΎΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΊΠΎΠΌΡΠ½ΠΈΡΠΈΡΠ° ΡΠ° Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΠΌΠ° ΡΠ΅Π·Π³ΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ΄ΡΠΆΠ°Π²Π° ΡΡΠ²ΡΡΠ΅Π½ΠΈΡ ΡΠΌΠ΅ΡΠ½ΠΈΡΠ° Π·Π° ΡΠ°Π·Π²ΠΎΡ.
- ΠΠ°ΡΡΠ°Π²ΠΈΡΠ° RWF_NOSIGNAL ΡΠ΅ Π΄ΠΎΠ΄Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΎΠΌ ΠΏΠΎΠ·ΠΈΠ²Ρ pwritev2() Π΄Π° Π±ΠΈ ΡΠ΅ ΠΎΠ½Π΅ΠΌΠΎΠ³ΡΡΠΈΠ»ΠΎ ΡΠ»Π°ΡΠ΅ SIGPIPE ΡΠΈΠ³Π½Π°Π»Π° ΠΏΡΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΏΠΈΡΠ°ΡΠ° Ρ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π΅ ΡΠ΅Π²ΠΈ ΠΈΠ»ΠΈ ΡΠΎΠΊΠ΅ΡΠ΅.
- ΠΠΏΡΠΈΡΠ° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ° βpidnsβ ΡΠ΅ Π΄ΠΎΠ΄Π°ΡΠ° Ρ Procfs Π·Π° ΠΎΠ΄ΡΠ΅ΡΠΈΠ²Π°ΡΠ΅ ΠΈΠΌΠ΅Π½ΡΠΊΠΎΠ³ ΠΏΡΠΎΡΡΠΎΡΠ° ID-Π° ΠΏΡΠΎΡΠ΅ΡΠ° (PID ΠΈΠΌΠ΅Π½ΡΠΊΠΎΠ³ ΠΏΡΠΎΡΡΠΎΡΠ°). ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ: βmount -t proc -o pidns=/proc/self/ns/pid proc /tmp/procβ.
- XFS ΡΠ΅ ΠΏΡΠΎΠ³Π»Π°ΡΠ΅Π½ ΡΡΠ°Π±ΠΈΠ»Π½ΠΈΠΌ ΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π½ΠΎ ΠΌΡ ΡΠ΅ ΠΎΠΌΠΎΠ³ΡΡΠ΅Π½ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΡΠ»ΡΠΆΠ½ΠΎΠ³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° fsck Π·Π° ΠΏΡΠΎΠ²Π΅ΡΡ ΠΈ ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ ΠΎΡΠΊΡΠΈΠ²Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ½Π»Π°ΡΠ½, Π±Π΅Π· Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ° ΡΠ°ΡΠ» ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΎΠ΄Π°ΡΠΈ ΡΡ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ·ΠΈΠ²ΠΈ file_getattr ΠΈ file_setattr Π·Π° ΠΏΡΠΎΠΌΠ΅Π½Ρ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΏΠΎΡΠ΅Π±Π½ΠΈΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° (Π±ΠΈΠ»ΠΎ ΠΊΠΎΡΠΈ ΠΈΠ½ΠΎΠ΄Π΅). ΠΠΏΡΠΈΡΠ΅ XFS_SUPPORT_V4 (XFS Π²Π΅ΡΠ·ΠΈΡΠ° 4) ΠΈ XFS_SUPPORT_ASCII_CI (ASCII ΡΠ΅ΠΆΠΈΠΌ Π±Π΅Π· ΡΠ°Π·Π»ΠΈΠΊΠ΅ ΠΈΠ·ΠΌΠ΅ΡΡ Π²Π΅Π»ΠΈΠΊΠΈΡ ΠΈ ΠΌΠ°Π»ΠΈΡ ΡΠ»ΠΎΠ²Π°) ΡΡ ΡΠ°Π΄Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π½ΠΎ ΠΎΠ½Π΅ΠΌΠΎΠ³ΡΡΠ΅Π½Π΅ Ρ KConfig-Ρ ΠΈ Π·Π°ΡΡΠ°ΡΠ΅Π»Π΅ ΡΡ. ΠΠ°ΡΡΠ°ΡΠ΅Π»Π΅ ΠΎΠΏΡΠΈΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ° attr2, noattr2, ikeep ΠΈ noikeep ΡΡ ΡΠΊΠ»ΠΎΡΠ΅Π½Π΅.
- MD RAID ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π½ΠΎΠ²ΠΈ ΡΠΈΠΏ Π±ΠΈΡΠΌΠ°ΠΏΠ° - llbitmap (lockless bitmap), ΠΊΠΎΡΠΈ ΡΠ°Π΄ΠΈ Π±Π΅Π· Π·Π°ΠΊΡΡΡΠ°Π²Π°ΡΠ° ΠΈ ΠΏΡΡΠΆΠ° Π²Π΅ΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅.
- ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ Π²Π΅Π·Π°Π½Π΅ Π·Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ (ΠΏΠΎΠΊΠ°Π·ΠΈΠ²Π°ΡΠΈ i_crypt_info ΠΈ i_verity_info) ΡΡ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½Π΅ ΠΈΠ· ΠΎΠΏΡΡΠ΅ ΡΡΡΡΠΊΡΡΡΠ΅ βinodeβ. ΠΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½Π° ΡΠΌΠ°ΡΡΡΠ΅ ΠΏΠΎΡΡΠΎΡΡΡ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ΅ Ρ ΡΠ°ΡΠ» ΡΠΈΡΡΠ΅ΠΌΠΈΠΌΠ° ΠΊΠΎΡΠΈ Π½Π΅ ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π°ΡΡ ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ.
- FUSE ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ ΡΠ°Π΄Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ·ΠΈΠ² copy_file_range() ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ ΠΎΠΏΡΠ΅Π³Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ 64-Π±ΠΈΡΠ½ΠΈ ΡΠΈΠΏ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ (ΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅ Π±ΠΈΠ»Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π½Π° ΡΠ°ΠΌΠΎ 32-Π±ΠΈΡΠ½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π°). ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½Ρ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡ ΡΠΎΠΊΠΎΠΌ ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ° (FUSE_DEV_IOC_SYNC_INIT).
- Π€Π°ΡΠ» ΡΠΈΡΡΠ΅ΠΌ ext4 ΡΠ°Π΄Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΡΠΏΠΎΡΡΠ΅Π±Ρ 32-Π±ΠΈΡΠ½ΠΈΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΡ ΠΠ-ΠΎΠ²Π° (uid) ΠΈ Π³ΡΡΠΏΠ½ΠΈΡ ΠΠ-ΠΎΠ²Π° (gid) ΠΏΡΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΏΡΠΈΡΡΡΠΏΠ° ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½ΠΈΠΌ Π±Π»ΠΎΠΊΠΎΠ²ΠΈΠΌΠ°. ΠΠΎΠ΄Π°ΡΠ΅ ΡΡ Ioctl ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ΅ ΠΈ ΡΠΈΡΠ°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠ° ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ ΡΠ°ΡΠ» ΡΠΈΡΡΠ΅ΠΌΠ΅ (tune2fs ΡΠ°Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΠ΅ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ° Π±Π΅Π· ΠΏΠΎΡΡΠ΅Π±Π΅ Π·Π° ΠΏΠΈΡΠ°ΡΠ΅ΠΌ Π½Π° Π±Π»ΠΎΠΊ ΡΡΠ΅ΡΠ°Ρ). ΠΠ°ΡΡΠ°ΡΠ΅Π»Π° ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π° Π·Π° ext3 ΡΡ ΠΏΠΎΡΠΏΡΠ½ΠΎ ΡΠΊΠ»ΠΎΡΠ΅Π½Π°.
- ΠΠΏΡΠΈΡΠ° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ° βlookup_modeβ ΡΠ΅ Π΄ΠΎΠ΄Π°ΡΠ° Ρ f2fs Π·Π° ΠΈΠ·Π±ΠΎΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΏΡΠ΅ΡΡΠ°Π³Π΅: perf (Ρ Π΅Ρ ΠΏΡΠ΅ΡΡΠ°Π³Π°), compat (Π»ΠΈΠ½Π΅Π°ΡΠ½Π° ΠΏΡΠ΅ΡΡΠ°Π³Π°) ΠΈΠ»ΠΈ auto (Π°ΡΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΈΠ·Π±ΠΎΡ). ΠΡΠΎΠΌΠ΅Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½Π° Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ΅ ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΠΈΠΌΠ° ΠΊΠΎΡΠΈ Π½Π΅ ΡΠ°Π·Π»ΠΈΠΊΡΡΡ Π²Π΅Π»ΠΈΠΊΠ° ΠΈ ΠΌΠ°Π»Π° ΡΠ»ΠΎΠ²Π°. Π’ΡΠ΅Π½ΡΡΠ½ΠΈ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠ΅ΡΡΠ°Π³Π΅ ΠΌΠΎΠΆΠ΅ ΡΠ΅ ΠΏΡΠΎΠ½Π°ΡΠΈ Ρ Π΄Π°ΡΠΎΡΠ΅ΡΠΈ β/sys/fs/f2fs/β. /effective_lookup_mode". ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°ΡΠ° ΠΈΠ½ΠΎΠ΄Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΈΡ ΡΠ°ΠΌΠΎ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΎΠ²Π°Π½ΠΈΠΌ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΠΌΠ°.
- Overlayfs ΡΠ°Π΄Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΡΠ°Π΄ Π±Π΅Π· ΡΠ°Π·Π»ΠΈΠΊΠΎΠ²Π°ΡΠ° Π²Π΅Π»ΠΈΠΊΠΈΡ ΠΈ ΠΌΠ°Π»ΠΈΡ ΡΠ»ΠΎΠ²Π°, ΡΡΠΎ ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΎΠΌΠΎΠ³ΡΡΠΈΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎΡ ΡΠ»ΠΎΡΠ° Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΎΠ³ ΡΠΈΡΡΠ΅ΠΌΠ° (ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ΅ Π·Π° ΠΏΠΎΡΠ΅Π΄ΠΈΠ½Π°ΡΠ½Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΠ΅ ΡΠΎΡ ΡΠ²Π΅ΠΊ Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΆΠ°Π½ΠΎ).
- BTRFS ΠΏΠΎΠ±ΠΎΡΡΠ°Π²Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΡΠ° Π²Π΅Π»ΠΈΠΊΠΈΠΌ ΠΎΠΏΡΠ΅ΡΠ΅ΡΠ΅ΡΠ΅ΠΌ ΡΠΈΡΠ°ΡΠ° ΠΈ ΠΌΠ°Π»ΠΈΠΌ ΠΎΠΏΡΠ΅ΡΠ΅ΡΠ΅ΡΠ΅ΠΌ ΠΏΠΈΡΠ°ΡΠ°, ΡΠΌΠ°ΡΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ·Π²ΡΡΠ°Π²Π°ΡΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ Π·Π½Π°ΡΠ°ΡΠ½ΠΎ ΡΠΌΠ°ΡΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ΅ (ΡΠ° ΠΌΠΈΠ½ΡΡΠ° Π½Π° Π΄Π΅ΡΠ΅ΡΠΈΠ½Π΅ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ). Π‘Π°Π΄Π° ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ° Π±Π»ΠΎΠΊΠΎΠ²Π° (bs) Π²Π΅ΡΠΈΡ ΠΎΠ΄ ΠΌΠ΅ΠΌΠΎΡΠΈΡΡΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ΅ (ps).
- ΠΠΎΠ΄Π°Ρ ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ Ρ ksmbd (SMB ΡΠ΅ΡΠ²Π΅Ρ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»Ρ) Π΄Π° Π±ΠΈ ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π°Π½ Π±ΡΠΎΡ ΠΊΠΎΠ½Π΅ΠΊΡΠΈΡΠ° ΡΠ° ΡΠ΅Π΄Π½ΠΎΠ³ ΠΠ Π°Π΄ΡΠ΅ΡΠ΅smbdirect, smbclient ΠΈ smbserver ΡΡ ΠΏΡΠ΅Π±Π°ΡΠ΅Π½ΠΈ Π΄Π° ΠΊΠΎΡΠΈΡΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π΅ ΡΡΡΡΠΊΡΡΡΠ΅ ΡΠ΅Π·Π³ΡΠ°.
- SQUASHFS ΡΠ°Π΄Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΠΎΠΏΡΠΈΡΠ΅ SEEK_DATA ΠΈ SEEK_HOLE Ρ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΎΠΌ ΠΏΠΎΠ·ΠΈΠ²Ρ lseek() Π·Π° ΠΏΡΠ΅ΡΡΠ°Π³Ρ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈ ΡΡΠΏΠ° Ρ ΡΠ΅ΡΠΊΠΈΠΌ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΠΌΠ°. ΠΠ΅ΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π΄ΠΎ 150 ΠΏΡΡΠ° Π·Π° ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ ΡΠ΅ΡΠΊΠΈΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°.
- EXFAT ΡΠ°Π΄Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° FS_IOC_GETFSLABEL ΠΈ FS_IOC_SETFSLABEL inicijalno-oktalne komande za Δitanje i pisanje oznaka partija. Sada omoguΔava promenu opcija montiranja tokom ponovnog montiranja. Performanse uΔitavanja bitmapa su poboljΕ‘ane.
- NTFS3 Π΄ΠΎΠ΄Π°ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° ioctl ΠΊΠΎΠΌΠ°Π½Π΄Π΅ FS_IOC_GETFSLABEL ΠΈ FS_IOC_SETFSLABEL Π·Π° ΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ°.
- ΠΠ΅ΠΌΠΎΡΠΈΡΡΠΊΠ΅ ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠ΅ ΡΡΠ»ΡΠ³Π΅
- Π£ΡΠ²ΠΎΡΠ΅Π½Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΌΠ΅ΡΡΠΏΡΠΎΡΠ΅ΡΠ½Ρ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΡ Binder-Π°, Π½Π°ΠΏΠΈΡΠ°Π½ΠΎΠ³ Ρ Rust ΡΠ΅Π·ΠΈΠΊΡ. Binder ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Ρ Android Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΠ° ΠΈ ΡΠ΄Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ·ΠΈΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π° (ΡΠ΅Π΄Π°Π½ ΠΏΡΠΎΡΠ΅Ρ Android ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ·Π²Π°ΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡ Android, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ Binder Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ, ΠΏΠΎΠ·ΠΈΠ²Π°ΡΠ΅ ΠΈ ΠΏΡΠΎΡΠ»Π΅ΡΠΈΠ²Π°ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Π°ΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΠ°). Binder-ΠΎΠ² ΠΊΠΎΠ΄ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΈΡΠ°Π½ Ρ Rust-Ρ ΠΊΠ°ΠΎ Π΄Π΅ΠΎ Google-ΠΎΠ²Π΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½Π΅ ΠΈΠ½ΠΈΡΠΈΡΠ°ΡΠΈΠ²Π΅. Android.
- SLUB, Π°Π»ΠΎΠΊΠ°ΡΠΎΡ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ΅ ΡΠ΅Π·Π³ΡΠ°, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΎΠΏΡΠΈΠΎΠ½ΠΈ ΡΠ»ΠΎΡ ΠΊΠ΅ΡΠΈΡΠ°ΡΠ° βΡΠ½ΠΎΠΏΠΎΠ²Π°β. ΠΠΎΡΠΈΡΡΠΈ Π²ΠΈΡΠ΅ ΠΊΠ΅Ρ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΡΠ²Π°ΠΊΠ° ΠΏΠΎΠ²Π΅Π·Π°Π½Π° ΡΠ° Π·Π°ΡΠ΅Π±Π½ΠΈΠΌ ΡΠ΅Π·Π³ΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π°ΡΡΡΠΈ Π΄Π° ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ Π°Π»ΠΎΠΊΠ°ΡΠΈΡΠ΅ ΠΈ Π΄Π΅Π°Π»ΠΎΠΊΠ°ΡΠΈΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΡΡΡ Π½Π° ΡΠ΅Π΄Π½ΠΎ ΡΠ΅Π·Π³ΡΠΎ. ΠΠ²Π° ΠΊΠ΅Ρ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΏΠΎΠ±ΠΎΡΡΠ°Π²Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅ Π°Π»ΠΎΠΊΠ°ΡΠΈΡΠ΅ ΠΈ Π΄Π΅Π°Π»ΠΎΠΊΠ°ΡΠΈΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ΅ Ρ ΡΠ΅Π·Π³ΡΡ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°ΡΠ΅ΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡ ΠΊΠ°Π΄Π° ΡΠ΅ ΡΠΊΡΡΡΠ΅Π½ΠΎ Π²ΠΈΡΠ΅ ΡΠ΅Π·Π³Π°ΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. Π£ Π½Π°ΡΠΈΠΌ ΡΠ΅ΡΡΠΎΠ²ΠΈΠΌΠ°, ΠΏΠΎΠ²Π΅ΡΠ°ΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΡΠ΅ ΠΊΡΠ΅ΡΠ°Π»ΠΎ ΠΎΠ΄ 6.3% Π΄ΠΎ 31%, Ρ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ ΠΎΠ΄ ΠΎΠΏΡΠ΅ΡΠ΅ΡΠ΅ΡΠ°.
- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ²Π΅Π·Π°Π½ΠΈΡ ΡΠ° ΠΎΠ΄ΡΠ΅ΡΠ΅Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½ΡΠΊΠΈΠΌ ΠΏΡΠΎΡΡΠΎΡΠΎΠΌ. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΡ ΠΎΠ΄ ΠΏΡΠΈΡΡΡΠΏΠ° ΠΈΠΌΠ΅Π½ΡΠΊΠΈΠΌ ΠΏΡΠΎΡΡΠΎΡΠΈΠΌΠ° ΠΏΠΎΠΌΠΎΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° (/proc/ /ns/), Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ ΡΠ΅ Π΄ΠΎΠ΄Π΅ΡΠ΅Π½ ΠΎΠ΄ΡΠ΅ΡΠ΅Π½ΠΎΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΈ ΠΈΠΌΠ΅Π½ΡΠΊΠΎΠ³ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΈ ΡΠΏΡΠ΅ΡΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ½ΠΎΠ²ΠΎ Π΄ΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΡΡΠΌΠ΅ΡΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΎΠ±ΡΠ΅ΠΊΠ°Ρ. Π‘Π»ΠΈΡΠ½ΠΎ pidfds-Ρ, ΠΎΡΠ²Π°ΡΠ°ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΡΠΈ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°ΡΡ ΠΈΠΌΠ΅Π½ΡΠΊΠ΅ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΡΠ΅ Π²ΡΡΠΈ ΠΏΠΎΠΌΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΡΠ° open_by_handle_at() ΠΈ name_to_handle_at().
- ΠΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ βSwap Tableβ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ ΡΠ°Π΄ΠΈ ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠ° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ swap-Π°. ΠΠ²ΠΎ ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½ΡΡΠΎ ΡΠΌΠ°ΡΠ΅ΡΠ΅ΠΌ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡΠ΅ Π·Π° swap ΠΊΠ΅Ρ ΠΌΠ΅ΠΌΠΎΡΠΈΡΡ, Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΈΡΠΈΠΌ ΠΏΡΠ΅ΡΡΠ°ΠΆΠΈΠ²Π°ΡΠ΅ΠΌ ΠΊΠ΅ΡΠ° ΠΈ ΡΠΌΠ°ΡΠ΅ΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅. ΠΠ° swap ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π°ΡΠ½ΠΎΠ²Π°Π½ Π½Π° Swap ΡΠ°Π±Π΅Π»ΠΈ ΡΠΌΠ΅ΡΡΠΎ XArray Π±Π΅ΠΊΠ΅Π½Π΄Π°, ΡΡΠΎ ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠΈΡΠ°Π»ΠΎ ΠΏΡΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠ΅ΠΌ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΠΎΠ΄ 5-20%. Π£ usemem ΡΠ΅ΡΡΡ, ΠΏΡΠΎΠΏΡΡΠ½ΠΎΡΡ ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ°Π½Π° Π·Π° 17-28%, Ρ ΡΠ΅ΡΡΡ Π²ΠΈΡΠ΅Π½ΠΈΡΠ½Π΅ ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠ΅ ΡΠ΅Π·Π³ΡΠ°, Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΡΠ΅ ΡΠ΅ ΡΠΌΠ°ΡΠ΅Π½ΠΎ Π·Π° 1.12-3.19%, Π° redis-benchmark ΡΠ΅ΡΡ ΡΠ° BGSAVE ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΠΎ ΠΏΠΎΠ²Π΅ΡΠ°ΡΠ΅ Π±ΡΠΎΡΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ Π·Π°Ρ ΡΠ΅Π²Π° ΠΎΠ΄ 6-7%.
- Zswap ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅ ΠΌΠΈΠ³ΡΠΈΡΠ°Π½ Π΄Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ zsmalloc ΡΠΈΡΡΠ΅ΠΌ Π·Π° Π°Π»ΠΎΠΊΠ°ΡΠΈΡΡ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ΅ ΡΠΌΠ΅ΡΡΠΎ zpool ΡΠ»ΠΎΡΠ°, ΠΊΠΎΡΠΈ ΡΠ΅ Π²ΠΈΡΠ΅ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈ ΡΠ°Π΄Π° ΡΠ΅ ΡΠΊΠ»ΠΎΡΠ΅Π½ ΠΈΠ· ΡΠ΅Π·Π³ΡΠ°.
- ΠΠ° Π±ΠΈ ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π»ΠΎ ΠΏΠΎΠ½Π°ΡΠ°ΡΠ΅ ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠΊΠΎΠ³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π° Π½Π° x86 ΡΠΈΡΡΠ΅ΠΌΠΈΠΌΠ°, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΡΠ΅ ΠΎΠΏΡΠΈΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π΅ Π»ΠΈΠ½ΠΈΡΠ΅ βmicrocode=flaglistβ. Π£ ΡΠ²ΠΎΠΌ ΡΡΠ΅Π½ΡΡΠ½ΠΎΠΌ ΠΎΠ±Π»ΠΈΠΊΡ, ΠΎΠ²Π° Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡΠ° Π·Π°ΠΌΠ΅ΡΡΡΠ΅ βmicrocode.force_minrevβ ΠΈ ΡΠ°ΠΊΠΎΡΠ΅ Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° Π΄Π° ΠΎΠ΄ΡΠ΅Π΄ΠΈΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Ρ Π²Π΅ΡΠ·ΠΈΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π° Π΄ΠΎΠ·Π²ΠΎΡΠ΅Π½Ρ Π·Π° ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ΅.
- ΠΠΎΡΠ΅ΠΎ ΡΠ΅ ΡΠ°Π΄ Π½Π° ΡΠ΅ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΈ ΠΏΡΠ΅ΡΠ΅ΡΠ°Π½ΠΎ Π½Π°Π΄ΡΠ²Π°Π½Π΅ ΡΡΡΡΠΊΡΡΡΠ΅ βΡΡΡΠ°Π½ΠΈΡΠ΅β ΠΊΠΎΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠΏΡΠ°Π²ΡΠ°ΡΠ΅ Π ΠΠ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠ°. ΠΠΎΠ΄Π°Ρ ΡΠ΅ ΡΠΈΠΏ βmemdesc_flags_tβ Π·Π° ΠΏΠΎΡΠ° ΡΠ° Π·Π°ΡΡΠ°Π²ΠΈΡΠ°ΠΌΠ° ΠΎΠΏΡΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅ ΠΊΠΎΡΠ΅ ΡΠ΅ ΠΌΠΎΠ³Ρ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Π½Π°ΠΊΠΎΠ½ ΠΎΡΠ΅ΠΊΠΈΠ²Π°Π½ΠΎΠ³ Π±ΡΠ΄ΡΡΠ΅Π³ ΠΎΠ΄Π²Π°ΡΠ°ΡΠ° ΠΎΠ΄Π²ΠΎΡΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΡΠ»Π°ΡΠ΅ ΠΈ ΡΠΎΠ»ΠΈΡΠ΅ ΠΎΠ΄ ΡΡΡΡΠΊΡΡΡΠ΅ βΡΡΡΠ°Π½ΠΈΡΠ΅β.
- ΠΠ° nios2 Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΊΠΎΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Ρ Altera Nios II ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΠΌΠ° (FPGA-Π±Π°Π·ΠΈΡΠ°Π½ΠΈ ΡΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ), ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ·ΠΈΠ² clone3().
- ΠΡΡΠΈΠ±ΡΡ βtransitionalβ ΡΠ΅ Π΄ΠΎΠ΄Π°Ρ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ ΡΠ΅Π·Π³ΡΠ° (KConfig). ΠΠΎΠΆΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Π·Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°ΡΠ΅ ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ° ΠΊΠΎΡΠ° Π½ΠΈΡΡ ΠΏΡΠΈΠΊΠ°Π·Π°Π½Π° Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈΠΌΠ°, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ βmake menuconfigβ, ΠΈ Π½ΠΈΡΡ ΡΠΊΡΡΡΠ΅Π½Π° Ρ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅. ΠΡΠΈΠΌΠ°ΡΠ½Π° ΡΠ²ΡΡ Π° ΠΎΠ²ΠΎΠ³ Π°ΡΡΠΈΠ±ΡΡΠ° ΡΠ΅ Π΄Π° ΠΏΠΎΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈ ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΠ΅ ΠΎΠΏΡΠΈΡΠ° ΡΠ· ΠΎΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠΈ ΡΠ° ΡΠ½Π°Π·Π°Π΄Π½ΠΈΠΌ Π²Π΅ΡΠ·ΠΈΡΠ°ΠΌΠ°.
- ΠΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ° Clang ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠ° ΠΊΠΎΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈ ΡΠ΅Π·Π³ΡΠΎ ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ°Π½Π° Π½Π° LLVM 15. Debian 12 ΠΈ Ubuntu LLVM 14 ΡΠ΅ ΠΈΡΠΏΠΎΡΡΡΠ΅Π½ 22.04.
- ΠΠ°ΡΡΠ°Π²ΡΠ΅Π½ΠΎ ΠΌΠΈΠ³ΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π° ΠΈΠ· Rust-for-branchLinuxΠ£ Π²Π΅Π·ΠΈ ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΠΌ Π ΡΡΡΠ° ΠΊΠ°ΠΎ Π΄ΡΡΠ³ΠΎΠ³ ΡΠ΅Π·ΠΈΠΊΠ° Π·Π° ΡΠ°Π·Π²ΠΎΡ Π΄ΡΠ°ΡΠ²Π΅ΡΠ° ΠΈ ΠΌΠΎΠ΄ΡΠ»Π° ΡΠ΅Π·Π³ΡΠ° (ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° Π ΡΡΡ Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π½ΠΎ ΠΎΠΌΠΎΠ³ΡΡΠ΅Π½Π° ΠΈ Π½Π΅ ΡΠΊΡΡΡΡΡΠ΅ Π ΡΡΡ ΠΊΠ°ΠΎ ΠΎΠ±Π°Π²Π΅Π·Π½Ρ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π³ΡΠ°Π΄ΡΡ ΡΠ΅Π·Π³ΡΠ°). ΠΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π°ΡΠΎΠΌΡΠΊΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΎΠΌ, ΡΡΡΡΠΊΡΡΡΡ βΠΌΠ°ΠΏΠ»ΠΎΠ²ΠΎΠ³ ΡΡΠ°Π±Π»Π°β, ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ° DebugFS Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΡΠ΅ Π±ΠΈΡΠΌΠ°ΠΏΠ°ΠΌΠ° Π·Π° Π ΡΡΡ ΠΊΠΎΠ΄. ΠΡΠΈΡΡΡΠΏ API-ΡΡ Π·Π° ΡΠ°Π·Π²ΠΎΡ Π΄ΡΠ°ΡΠ²Π΅ΡΠ° ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ΅Π½. ΠΠΎΠ΄Π°Ρ ΡΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠ°Π½ ΡΠΊΡΠΏ Π°ΠΏΡΡΡΠ°ΠΊΡΠΈΡΠ° Π·Π° ΡΠ°Π·Π²ΠΎΡ Π΄ΡΠ°ΡΠ²Π΅ΡΠ° Π·Π° USB ΡΡΠ΅ΡΠ°ΡΠ΅ (ΠΏΡΠΈΠΌΠ΅Ρ USB Π΄ΡΠ°ΡΠ²Π΅ΡΠ°). Π£ΡΠ»ΡΠΆΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌ perf ΡΠ°Π΄Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΡΠΈΠΌΠ±ΠΎΠ»Π΅ Π·Π° Π΄Π΅Π±Π°Π³ΠΎΠ²Π°ΡΠ΅ ΠΊΠΎΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ rustc ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ.
- ΠΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ
- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΡ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ ΠΏΡΠ΅ΡΠ·Π΅ΡΠΈΡ ΠΠΠ€ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΠΌ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎΠ³ ΠΏΠΎΡΠΏΠΈΡΠ°. ΠΠ²Π° ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ ΡΠ΅ Π±ΠΈΡΠΈ Π΄ΠΎΠ΄Π°ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ΅Π½Π° ΠΊΠ°ΠΊΠΎ Π±ΠΈ ΡΠΊΡΡΡΠΈΠ»Π° Π°Π»Π°ΡΠ΅ Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΏΡΠ΅ΡΠ·ΠΈΠΌΠ°ΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ°Π½ΠΈΡ ΠΠΠ€ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΈ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π°ΡΠ΅ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΎΠ²Π°Π½ΠΈΠΌ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΠΌΠ° Π΄Π° ΠΊΠΎΡΠΈΡΡΠ΅ Π²Π΅ΡΠΈΡΠΈΠΊΠΎΠ²Π°Π½Π΅ ΠΠΠ€ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅.
- KVM Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° ΠΏΡΠΎΡΠΈΡΠ΅ΡΠ΅ Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ΅ Intel CET (Control-flow Enforcement Technology), ΠΊΠΎΡΠ΅ ΡΡΠΈΡΠΈ ΠΎΠ΄ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ° ΠΎΡΠΈΡΠ΅Π½ΡΠΈΡΠ°Π½ΠΎΠ³ Π½Π° ΠΏΠΎΠ²ΡΠ°ΡΠ°ΠΊ (ROP). ΠΠ²Π° Π·Π°ΡΡΠΈΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ΅ ΡΠ°ΠΊΠΎ ΡΡΠΎ ΡΡΠ²Π° ΠΏΠΎΠ²ΡΠ°ΡΠ½Ρ Π°Π΄ΡΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡΠ΅ Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π½ΠΎΠΌ ΡΡΠ΅ΠΊΡ Π²Π΅Ρ ΠΈ Π½Π° ΠΏΠΎΡΠ΅Π±Π½ΠΎΠΌ shadow ΡΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΈ ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΌΠ΅ΡΠ°ΡΠΈ.
- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ° Π²ΠΈΡΠ΅ ΠΎΠ΄ 255 ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΊΠΎΠ΄ Π³ΠΎΡΡΠΈΡΡ ΠΊΠΎΡΠΈ ΠΏΠΎΠΊΡΠ΅ΡΡ Bhyve Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Π½Π° FreeBSD 15 Ρ ΠΎΡΡΠΎΠ²ΠΈΠΌΠ°.
- ΠΠΎΠ΄Π°Ρ ΡΠ΅ ΡΠ»ΠΎΡ dibs (Direct Internal Buffer Sharing) Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½ΠΎ Π΄Π΅ΡΠ΅ΡΠ΅ Π±Π°ΡΠ΅ΡΠ° ΡΠ½ΡΡΠ°Ρ ΠΈΠ·ΠΎΠ»ΠΎΠ²Π°Π½ΠΎΠ³ ΠΎΠΊΡΡΠΆΠ΅ΡΠ° ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠ° ΡΠ΅Π·Π³ΡΠ°. Linux.
- ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΡΠ΅Π²ΠΈΠ·ΠΈΡΡ ΡΠ°Π΄Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΡΠ°Π΄ ΡΠ° Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΠΎΠΌΠΎΠ³ΡΡΠ΅Π½ΠΈΡ LSM ΠΌΠΎΠ΄ΡΠ»Π° (Linux ΠΠ΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»).
- ΠΠΎΠ΄Π°Ρ ΡΠ΅ virtio Π΄ΡΠ°ΡΠ²Π΅Ρ spi-virtio Π·Π° ΠΏΡΠΈΡΡΡΠΏ SPI (ΡΠ΅ΡΠΈΡΡΠΊΠΈ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ) ΡΡΠ΅ΡΠ°ΡΡ ΠΈΠ· Π²ΠΈΡΡΡΠ΅Π»Π½Π΅ ΠΌΠ°ΡΠΈΠ½Π΅.
- KVM Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°Π½ Π΄Π° Π±ΠΈ ΠΏΠΎΠ΄ΡΠΆΠ°ΠΎ SEV-SNP ΡΠ΅ΠΆΠΈΠΌ ΡΠΊΡΠΈΠ²Π°ΡΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ°, ΠΊΠΎΡΠΈ Π±Π»ΠΎΠΊΠΈΡΠ° ΡΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ° Π·Π°ΡΡΠΈΡΠ΅Π½Π΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ΅ Π³ΠΎΡΡΡΡΡΡΠ΅Π³ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° Π½Π΅ΠΎΠ²Π»Π°ΡΡΠ΅Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡ.
- ΠΠΎΠ΄Π°Ρ ΡΠ΅ qtee Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° TEE (Trusted Execution Environment) ΠΎΠΊΡΡΠΆΠ΅ΡΠ° Qualcomm ΡΠΈΠΏΠΎΠ²Π°.
- ΠΡΠ΅ΠΆΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ
- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ TCP Π²Π΅Π·Π΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΠΌ PSP Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΎΠ³ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° (PSP), ΠΊΠΎΡΠΈ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠΎ Google Π·Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ ΡΠ°ΠΎΠ±ΡΠ°ΡΠ°ΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΠ°ΡΠ°. PSP ΠΏΡΡΠΆΠ° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅, ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΎΠ³ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅ΡΠ° ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ ΠΈΠ·Π²ΠΎΡΠ°, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΡΡΠΈ ΡΠ΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΡ TLS ΠΈ IPsec ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ. PSP ΠΏΡΠΈΠΌΠ΅ΡΡΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎΡ ΠΏΠΎΡΠ΅Π΄ΠΈΠ½Π°ΡΠ½ΠΈΡ
ΠΌΡΠ΅ΠΆΠ½ΠΈΡ
Π²Π΅Π·Π°, Π° Π½Π΅ Π½Π° ΡΠ΅Π»ΠΎΠΌ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½ΠΎΠΌ ΠΊΠ°Π½Π°Π»Ρ. PSP ΠΊΠΎΡΠΈΡΡΠΈ ΠΎΠ΄Π²ΠΎΡΠ΅Π½Π΅ ΠΊΡΡΡΠ΅Π²Π΅ Π·Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ Π·Π° ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅ ΡΡΠ½Π΅Π»ΠΈΡΠ°Π½Π΅ TCP Π²Π΅Π·Π΅ ΠΊΠ°ΠΊΠΎ Π±ΠΈ ΡΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ»ΠΎΠ²Π°ΠΎ ΡΠ°ΠΎΠ±ΡΠ°ΡΠ°Ρ ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΡ
Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΠ²Π°ΡΠ°. ΠΠ° Π±ΠΈ ΡΠ΅ ΡΠΌΠ°ΡΠΈΠ»ΠΎ ΠΎΠΏΡΠ΅ΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΠΈ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΡΠ΅ ΠΏΡΠ΅Π±Π°ΡΡΡΡ Π½Π° ΠΌΡΠ΅ΠΆΠ½Π΅ ΠΊΠ°ΡΡΠΈΡΠ΅ (offload). UDP ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ°ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΠΏΡΠ΅Π½ΠΎΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°, ΠΏΡΠ΅ΠΊΠΎ ΠΊΠΎΡΠ΅Π³ ΡΠ΅ ΠΏΡΠΎΡΠ»Π΅ΡΡΡΠ΅ ΡΠ°Π΄ΡΠΆΠ°Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎΠ³ TCP ΠΏΠ°ΠΊΠ΅ΡΠ°.

- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΡΠ΅ΡΠ½Π° ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΡ Accurate Explicit Congestion Notification (AcECN). ΠΠ²Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ° ΡΠ΅ ΠΏΠΎΠ±ΠΎΡΡΠ°Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ° ECN Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ΅ ΠΊΠΎΡΠ° ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° Ρ ΠΎΡΡΠΎΠ²ΠΈΠΌΠ° Π΄Π° ΠΎΠ·Π½Π°ΡΠ΅ IP ΠΏΠ°ΠΊΠ΅ΡΠ΅ Ρ ΡΠ»ΡΡΠ°ΡΡ Π·Π°Π³ΡΡΠ΅ΡΠ° ΡΠΌΠ΅ΡΡΠΎ Π΄Π° ΠΈΡ ΠΎΠ΄Π±Π°ΡΠ΅, ΡΡΠΎ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΊΠ° Π·Π°Π³ΡΡΠ΅ΡΠ° Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½ΠΈΠΌ ΠΊΠ°Π½Π°Π»ΠΈΠΌΠ° Π±Π΅Π· Π³ΡΠ±ΠΈΡΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π° ECN Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ° ΠΈΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ ΡΠ°ΠΌΠΎ ΡΠ΅Π΄Π°Π½ ΡΠΈΠ³Π½Π°Π» Π·Π°Π³ΡΡΠ΅ΡΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ ΡΠΎΠΊΠΎΠΌ ΡΠ΅Π΄Π½ΠΎΠ³ TCP ΠΊΡΡΠΆΠ½ΠΎΠ³ ΠΏΡΡΠΎΠ²Π°ΡΠ° (RTT, Round-Trip Time, ΡΠ»Π°ΡΠ΅ Π·Π°Ρ ΡΠ΅Π²Π° ΠΈ ΠΏΡΠΈΠΌΠ°ΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ°). AccECN ΡΠΊΠ»Π°ΡΠ° ΠΎΠ²ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅ΡΠ΅ ΠΈ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° ΠΏΡΠΈΡΠ΅ΠΌΠ½ΠΈΠΊΡ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΠ΅ Π²ΠΈΡΠ΅ ΠΎΠ΄ ΡΠ΅Π΄Π½ΠΎΠ³ ΡΠΈΠ³Π½Π°Π»Π° Π·Π°Π³ΡΡΠ΅ΡΠ° ΠΏΠΎΡΠΈΡΠ°ΠΎΡΡ Ρ Π·Π°Π³Π»Π°Π²ΡΡ TCP ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π°Π³ΡΡΠ΅ΡΠ° ΠΌΠΎΠ³Ρ Π΄Π° ΠΊΠΎΡΠΈΡΡΠ΅ ΠΎΠ²Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ Π΄Π° Π±ΠΈ ΠΏΡΠ΅ΡΠΈΠ·Π½ΠΈΡΠ΅ ΡΠ΅Π°Π³ΠΎΠ²Π°Π»ΠΈ Π½Π° Π·Π°Π³ΡΡΠ΅ΡΠ΅ ΠΈ ΠΈΠ·Π±Π΅Π³Π»ΠΈ Π½Π°Π³Π»ΠΎ ΡΠΌΠ°ΡΠ΅ΡΠ΅ Π±ΡΠ·ΠΈΠ½Π΅ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΊΠ°Π΄Π° Π΄ΠΎΡΠ΅ Π΄ΠΎ ΠΌΠ°ΡΠ΅Π³ Π·Π°Π³ΡΡΠ΅ΡΠ°.
- UDP ΡΡΠ΅ΠΊ ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΎΠ²Π°Π½ Π·Π° ΠΎΠ±ΡΠ°Π΄Ρ Π΄ΠΎΠ»Π°Π·Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠΎΠΊΠΎΠΌ DDoS Π½Π°ΠΏΠ°Π΄Π°, ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΠΈΡΠ° Π²Π΅Π»ΠΈΠΊΠΈΠΌ Π±ΡΠΎΡΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΊΠΎΡΠΈ ΡΡΠΈΠΆΡ Π½Π° ΡΠ΅Π΄Π°Π½ ΠΈΠ»ΠΈ Π²ΠΈΡΠ΅ UDP ΡΠΎΠΊΠ΅ΡΠ°. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ΅, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΡ ΡΠΌΠ°ΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄Π° ΡΡΡΡΠΊΡΡΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Ρ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΈ ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ NUMA (Π½Π΅ΡΠ½ΠΈΡΠΎΡΠΌΠ½ΠΈ ΠΏΡΠΈΡΡΡΠΏ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΈ) Π·Π°ΠΊΡΡΡΠ°Π²Π°ΡΠ°, ΠΏΠΎΠ²Π΅ΡΠ°Π»Π΅ ΡΡ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅ ΠΏΡΠΈΡΠ΅ΠΌΠ° UDP ΠΏΠ°ΠΊΠ΅ΡΠ° Π·Π° 47% ΠΈΠ»ΠΈ Π²ΠΈΡΠ΅ Ρ Π΅ΠΊΡΡΡΠ΅ΠΌΠ½ΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠΌΠ°.
- ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΡΠ΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ ΠΎΠ½Π΅ΠΌΠΎΠ³ΡΡΠ°Π²Π°ΡΠ° ΠΊΠ΅ΡΠΈΡΠ°ΡΠ° ΡΠ»Π°Π·Π½ΠΎ/ΠΈΠ·Π»Π°Π·Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π½Π° NFS ΡΠ΅ΡΠ²Π΅ΡΡ, ΡΡΠΎ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ NFS ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ ΡΠΈΡΡΠ΅ΠΌΠΈΠΌΠ° ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎΠΌ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΎΠΌ (Π½ΠΏΡ. ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° cloud ΠΎΠΊΡΡΠΆΠ΅ΡΠ°). ΠΠ½Π΅ΠΌΠΎΠ³ΡΡΠ°Π²Π°ΡΠ΅ ΠΊΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΎ ΠΈ Π½Π° NFS ΡΠ΅ΡΠ²Π΅ΡΠΈΠΌΠ° ΡΠ° Π²Π΅Π»ΠΈΠΊΠΈΠΌ ΠΎΠΏΡΠ΅ΡΠ΅ΡΠ΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠΎ Π±ΠΈ ΡΠ΅ ΡΠΏΡΠ΅ΡΠΈΠ»ΠΎ Π±ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΏΠΎΠ²Π΅Π·Π°Π½ΠΈΡ ΡΠ° Π»ΠΎΠΊΠ°Π»Π½ΠΈΠΌ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΠΌ ΠΈΠ· ΠΊΠ΅ΡΠ° Π·Π±ΠΎΠ³ ΠΎΡΠ»ΠΎΠ±Π°ΡΠ°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ΅ Π·Π° NFS ΠΊΠ΅Ρ.
- ΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π° Π΄ΠΎΠ»Π°Π·Π½ΠΈΡ ΠΈ ΠΎΠ΄Π»Π°Π·Π½ΠΈΡ Π±Π°ΡΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Π·Π° ΠΌΡΠ΅ΠΆΠ½Π΅ ΡΠΎΠΊΠ΅ΡΠ΅ (net.core.rmem_max ΠΈ net.core.wmem_max) ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ°Π½Π° ΡΠ° 2 MB Π½Π° 4 MB. ΠΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΎΡΡΠ°ΡΠ΅ Π½Π΅ΠΏΡΠΎΠΌΠ΅ΡΠ΅Π½Π° (net.core.rmem_default ΠΈ net.core.wmem_default = 2 MB).
- ΠΠΎΠ΄Π°Ρ ΡΠ΅ Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° ΠΌΡΠ΅ΠΆΠ½ΠΈ Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡ Qualcomm PPE (Packet Processing Engine) ΠΊΠΎΡΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Ρ Qualcomm IPQ9574 SoC-Ρ.
- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ TCP Π²Π΅Π·Π΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΠΌ PSP Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΎΠ³ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° (PSP), ΠΊΠΎΡΠΈ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠΎ Google Π·Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ ΡΠ°ΠΎΠ±ΡΠ°ΡΠ°ΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΠ°ΡΠ°. PSP ΠΏΡΡΠΆΠ° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅, ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΎΠ³ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅ΡΠ° ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ ΠΈΠ·Π²ΠΎΡΠ°, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΡΡΠΈ ΡΠ΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΡ TLS ΠΈ IPsec ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ. PSP ΠΏΡΠΈΠΌΠ΅ΡΡΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎΡ ΠΏΠΎΡΠ΅Π΄ΠΈΠ½Π°ΡΠ½ΠΈΡ
ΠΌΡΠ΅ΠΆΠ½ΠΈΡ
Π²Π΅Π·Π°, Π° Π½Π΅ Π½Π° ΡΠ΅Π»ΠΎΠΌ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½ΠΎΠΌ ΠΊΠ°Π½Π°Π»Ρ. PSP ΠΊΠΎΡΠΈΡΡΠΈ ΠΎΠ΄Π²ΠΎΡΠ΅Π½Π΅ ΠΊΡΡΡΠ΅Π²Π΅ Π·Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ Π·Π° ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅ ΡΡΠ½Π΅Π»ΠΈΡΠ°Π½Π΅ TCP Π²Π΅Π·Π΅ ΠΊΠ°ΠΊΠΎ Π±ΠΈ ΡΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ»ΠΎΠ²Π°ΠΎ ΡΠ°ΠΎΠ±ΡΠ°ΡΠ°Ρ ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΡ
Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΠ²Π°ΡΠ°. ΠΠ° Π±ΠΈ ΡΠ΅ ΡΠΌΠ°ΡΠΈΠ»ΠΎ ΠΎΠΏΡΠ΅ΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΠΈ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΡΠ΅ ΠΏΡΠ΅Π±Π°ΡΡΡΡ Π½Π° ΠΌΡΠ΅ΠΆΠ½Π΅ ΠΊΠ°ΡΡΠΈΡΠ΅ (offload). UDP ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ°ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΠΏΡΠ΅Π½ΠΎΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°, ΠΏΡΠ΅ΠΊΠΎ ΠΊΠΎΡΠ΅Π³ ΡΠ΅ ΠΏΡΠΎΡΠ»Π΅ΡΡΡΠ΅ ΡΠ°Π΄ΡΠΆΠ°Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎΠ³ TCP ΠΏΠ°ΠΊΠ΅ΡΠ°.
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΡΠ°ΡΠ²Π΅Ρ Tyr, Π½Π°ΠΏΠΈΡΠ°Π½ Ρ Rust-Ρ, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ ΡΠ΅ Ρ ΡΠ΅Π·Π³ΡΠΎ. ΠΠΎΠ΄ΡΠΆΠ°Π²Π° ARM Mali GPU-ΠΎΠ²Π΅ ΠΊΠΎΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ Command Stream Frontend (CSF) ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΡ Mali G310, G510 ΠΈ G710. ΠΡΠ°ΡΠ²Π΅Ρ ΡΠΎΡ ΡΠ²Π΅ΠΊ Π½ΠΈΡΠ΅ ΡΠΏΡΠ΅ΠΌΠ°Π½ Π·Π° ΡΠ΅Π΄ΠΎΠ²Π½Ρ ΡΠΏΠΎΡΡΠ΅Π±Ρ ΠΎΠ΄ ΡΡΡΠ°Π½Π΅ ΡΠ΅Π΄ΠΎΠ²Π½ΠΈΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° ΠΈ ΡΠΌΠ°ΡΡΠ° ΡΠ΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈΠΌ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠΌ Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π°ΠΏΡΡΡΠ°ΠΊΡΠΈΡΠ° Π·Π° ΡΠ°Π·Π²ΠΎΡ Π΄ΡΠ°ΡΠ²Π΅ΡΠ° Ρ Rust-Ρ.
- ΠΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΡΠ°ΡΠΏΠ΅Π΄Π΅ ΡΠ° Ρ Π°ΠΏΡΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠΌ ΠΈ ΡΠ΅Π½Π·ΠΎΡΠΈΠΌΠ° ΠΏΡΠΈΡΠΈΡΠΊΠ° ΡΠ΅ Π΄ΠΎΠ΄Π°ΡΠ° Π΄ΡΠ°ΡΠ²Π΅ΡΠΈΠΌΠ° Π·Π° HID (Human Interface Device) ΡΠ»Π°Π·Π½Π΅ ΡΡΠ΅ΡΠ°ΡΠ΅.
- ΠΠ°ΡΡΠ°Π²ΡΠ΅Π½ ΡΠ΅ ΡΠ°Π΄ Π½Π° Xe DRM (Direct Rendering Manager) Π΄ΡΠ°ΡΠ²Π΅ΡΡ Π·Π° Π³ΡΠ°ΡΠΈΡΠΊΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π°Π½Π΅ Π½Π° Intel Xe Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, ΠΊΠΎΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Ρ Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΌ ΠΊΠ°ΡΡΠΈΡΠ°ΠΌΠ° Intel Arc ΡΠ΅ΡΠΈΡΠ΅ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΎΡ Π³ΡΠ°ΡΠΈΡΠΈ, ΠΏΠΎΡΠ΅Π²ΡΠΈ ΠΎΠ΄ Tiger Lake ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. ΠΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π΄ΠΎΠ΄Π°ΡΠ΅ madvise ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ, ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° SR-IOV PF (Single Root I/O Virtualization Physical Function), Π΄ΠΎΠ΄Π°ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° Intel PSMI ΡΠ΅ΠΆΠΈΠΌ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡΡ Ρ Π°ΡΠ΄Π²Π΅ΡΠ°, ΠΎΠ±Π΅Π·Π±Π΅ΡΡΡΠ΅ ΠΎΠ±ΡΠ°Π΄Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎ Π³ΡΠ΅ΡΠΊΠ°ΠΌΠ° ΠΊΠΎΡΠ΅ ΠΏΡΠ΅Π½ΠΎΡΠΈ ΡΠΈΡΠΌΠ²Π΅Ρ, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° SLPC ΠΏΡΠΎΡΠΈΠ» Π½Π°ΠΏΠ°ΡΠ°ΡΠ° ΠΈ Π΄ΠΎΠ΄Π°ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° ΡΡΠΈΡΠ°Π²Π°ΡΠ΅ ΠΏΠΎΠΌΠΎΡΠ½ΠΎΠ³ ΡΠΈΡΠΌΠ²Π΅ΡΠ° (ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π²Π΅Π½ΡΠΈΠ»Π°ΡΠΎΡΠ° ΠΈ ΡΠ΅Π³ΡΠ»Π°ΡΠΎΡ Π½Π°ΠΏΠΎΠ½Π°) ΡΠΎΠΊΠΎΠΌ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡΠ΅ Π΄ΡΠ°ΡΠ²Π΅ΡΠ°.
- ΠΡΠ°ΡΠ²Π΅Ρ AMDGPU ΡΠ°Π΄Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΡΡΠ΅ΡΠ°ΡΠ΅ ΡΠ° Cyan Skillfish APU-ΠΈΠΌΠ°, ΠΏΠΎΠ±ΠΎΡΡΠ°Π²Π° ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° AMD GCN 1.0, Π΄ΠΎΠ΄Π°ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ ΡΠ° criu Π°Π»Π°ΡΠΈΠΌΠ°, Π΄ΠΎΠ΄Π°ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ΅ Ρ sysfs ΠΈ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° Π·Π°Ρ ΡΠ΅Π²Π΅ Π·Π° ΡΠ΅ΠΌΠ°ΠΏΠΈΡΠ°ΡΠ΅ MMIO-Π° ΠΈΠ· ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎΠ³ ΠΏΡΠΎΡΡΠΎΡΠ°.
- ΠΡΠ°ΡΠ²Π΅Ρ i915 ΡΠΊΡΡΡΡΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° ΠΏΠΎΡΠΎΠ΄ΠΈΡΡ ΡΠΈΠΏΠΎΠ²Π° Wildcat Lake ΠΈ ΠΏΠΎΠ±ΠΎΡΡΠ°Π²Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅ ΡΠ° Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΠΌΠ° Jasper Lake, Elkhart Lake, Gen7 ΠΈ Gen6.
- ΠΡΠ°ΡΠ²Π΅Ρ Nouveau ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π½ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ NVIDIA GSP ΡΠΈΡΠΌΠ²Π΅Ρ ΠΈ ΠΈΠΌΠ° ΠΏΠΎΠ±ΠΎΡΡΠ°Π½ΠΎ ΡΡΠΊΠΎΠ²Π°ΡΠ΅ Π³ΡΠ΅ΡΠΊΠ°ΠΌΠ°.
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Nova Π΄ΡΠ°ΡΠ²Π΅ΡΠ° Π·Π° NVIDIA Π³ΡΠ°ΡΠΈΡΠΊΠ΅ ΠΊΠ°ΡΡΠΈΡΠ΅ ΠΎΠΏΡΠ΅ΠΌΡΠ΅Π½Π΅ GSP ΡΠΈΡΠΌΠ²Π΅ΡΠΎΠΌ, ΠΊΠΎΡΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ ΠΏΠΎΡΠ΅Π² ΠΎΠ΄ NVIDIA GeForce RTX 2000 ΡΠ΅ΡΠΈΡΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π°Π½Π΅ Π½Π° Turing ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, ΡΠ΅ Π½Π°ΡΡΠ°Π²ΡΠ΅Π½Π°. ΠΡΠ°ΡΠ²Π΅Ρ ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ Ρ Rust-Ρ. ΠΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ° ΠΏΡΠΎΡΠΈΡΡΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° GSP ΡΠΈΡΠΌΠ²Π΅Ρ, ΠΏΠΎΠ±ΠΎΡΡΠ°Π²Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΎΠ° βregister!β ΠΈ Π΄ΠΎΠ΄Π°ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° PCI ΠΊΠ»Π°ΡΠ΅ ΡΡΠ΅ΡΠ°ΡΠ° ΠΈ ΠΠ-ΠΎΠ²Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΡΠ°ΡΠ°.
- ΠΠΎΠ΄Π°Ρ ΡΠ΅ ΡΠ°ΠΊΠ΅ΡΠ½ΠΈ Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° NPU Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠ΅ ΠΊΠΎΡΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ Ρ Rockchip RK3588 SoC-Ρ.
- ΠΠΎΠ΄Π°Ρ ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ ΡΠ΅Π·Π³ΡΠ° βboot_displayβ Π·Π° ΠΈΠ·Π±ΠΎΡ ΠΈΠ·Π»Π°Π·Π½ΠΎΠ³ ΡΡΠ΅ΡΠ°ΡΠ° Π·Π° ΠΏΡΠΈΠΊΠ°Π·ΠΈΠ²Π°ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ° ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΠΌΠ° ΡΠ° Π²ΠΈΡΠ΅ Π³ΡΠ°ΡΠΈΡΠΊΠΈΡ ΠΊΠ°ΡΡΠΈΡΠ° (GPU).
- ΠΡΠ°ΡΠ²Π΅Ρ vesadrm ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° 8-Π±ΠΈΡΠ½Π΅ ΠΏΠ°Π»Π΅ΡΠ΅.
- ΠΡΠ°ΡΠ²Π΅Ρ msm ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°Π½ Π΄Π° Π±ΠΈ ΠΏΠΎΠ΄ΡΠΆΠ°ΠΎ Adreno 663 GPU ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΠΎ ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° IFPC (Inter Frame Power Collapse) ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ ΡΠΌΠ°ΡΠ΅ΡΠ° ΠΏΠΎΡΡΠΎΡΡΠ΅ Π΅Π½Π΅ΡΠ³ΠΈΡΠ΅.
- ΠΠ°Π½ΡΠΎΡ Π΄ΡΠ°ΡΠ²Π΅Ρ ΡΠ΅ Π΄ΠΎΠ΄Π°ΠΎ ΠΏΠΎΠ΄ΡΡΠΊΡ Π·Π° ΠΠ°Π»ΠΈ-Π710, ΠΠ°Π»ΠΈ-Π510, ΠΠ°Π»ΠΈ-Π310, ΠΠ°Π»ΠΈ-Πx15, ΠΠ°Π»ΠΈ-Πx20 ΠΈ ΠΠ°Π»ΠΈ-Πx25 Π³ΡΠ°ΡΠΈΡΠΊΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ΅.
- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ ASoC Π·Π²ΡΡΠ½Π΅ ΡΠΈΡΡΠ΅ΠΌΠ΅: Qualcomm Glymur ΠΈ PM4125, Realtek RT1321, Shanghai FourSemi FS2104/5S, Texas Instruments PCM1754 ΠΈ TAS2783A, qcs615, CS35L56 B2, tas2118, tas2x20 ΠΈ tas5825. ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° Tascam US-144mkII ΠΈ Presonus S1824c USB Π·Π²ΡΡΠ½Π΅ ΠΊΠ°ΡΡΠΈΡΠ΅.
- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ARM ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ΅ Cortex-A320/A520AE/A720AE ΠΈ C1-Nano/Pro/Premium/Ultra.
- ΠΠΎΠ΄Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΠ° Π·Π° ARM ΠΏΠ»ΠΎΡΠ΅, SoC-ΠΎΠ²Π΅ ΠΈ ΡΡΠ΅ΡΠ°ΡΠ΅: Apple M2 Pro, M2 Max ΠΈ M2 Ultr, Sony Xperia SP, Samsung Galaxy S22, Samsung Galaxy S20 FE, ASUS Eee Pad Slider SL101, Lenovo ThinkBook 16, HP Omnibook X14 X1P42100, Dell Inspiron 7441 / Latitude 7455, Sige1, NanoPi Zero2, Axis Artpec8, NXP i.MX91, ROCK 2A/2F, Qualcomm Lemans Auto, Renesas RZ/T2H, RZ/N2H, RZ/T2H ΠΈ RZ/N2H, Aspeed AST27xx, Meta Clemente BMC, Netcube Nagami som, Tqma91xx, Ultratronik i.MX8MP Ultra-MACH, i.MX8ULP EVK9, Buffalo WXR-1750DHP,
ΠΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ, ΠΠ°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΡΠΊΠ° ΡΠΎΠ½Π΄Π°ΡΠΈΡΠ° Π·Π° ΡΠ»ΠΎΠ±ΠΎΠ΄Π½ΠΈ ΡΠΎΡΡΠ²Π΅Ρ ΠΊΡΠ΅ΠΈΡΠ°Π»Π° ΡΠ΅ Π²Π΅ΡΠ·ΠΈΡΡ ΠΏΠΎΡΠΏΡΠ½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ ΡΠ΅Π·Π³ΡΠ° 6.18 - Linux-libre 6.18-gnu, ΠΎΡΠΈΡΡΠ΅Π½ ΠΎΠ΄ Π΅Π»Π΅ΠΌΠ΅Π½Π°ΡΠ° ΡΠΈΡΠΌΠ²Π΅ΡΠ° ΠΈ Π΄ΡΠ°ΡΠ²Π΅ΡΠ° ΠΊΠΎΡΠΈ ΡΠ°Π΄ΡΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ ΠΊΠΎΡΠ΅ Π½ΠΈΡΡ ΡΠ»ΠΎΠ±ΠΎΠ΄Π½Π΅ ΠΈΠ»ΠΈ Π΄Π΅Π»ΠΎΠ²Π΅ ΠΊΠΎΠ΄Π° ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΌ Π΄ΠΎΠΌΠ΅ΡΠΎΠΌ. ΠΠ·Π΄Π°ΡΠ΅ 6.18 ΡΠΊΡΡΡΡΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ΄ Π·Π° ΡΠΈΡΡΠ΅ΡΠ΅ Π±Π»ΠΎΠ±ΠΎΠ²Π° Ρ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈΠΌΠ° Nova-Core, Intel XE, TI PRUeth, Lantiq GSWIP ΠΈ Marvell WiFi-Ex. ΠΠΌΠ΅Π½Π° Π±Π»ΠΎΠ±ΠΎΠ²Π° Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΠΌΠ° devicetree (.dts) Π·Π° Qualcomm, Mediatek ΠΈ TI ARM64 ARM ΡΠΈΠΏΠΎΠ²Π΅ ΡΡ ΠΎΡΠΈΡΡΠ΅Π½Π°. Π£ΡΠΈΡΠ°Π²Π°ΡΠ΅ Π±Π»ΠΎΠ±ΠΎΠ²Π° ΡΠ΅ ΠΎΠ½Π΅ΠΌΠΎΠ³ΡΡΠ΅Π½ΠΎ Ρ Π½ΠΎΠ²ΠΈΠΌ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈΠΌΠ° FourSemi fs2104/5s, TI TAS2783 ΠΈ Qualcomm GENI.
ΠΠ·Π²ΠΎΡ: ΠΎΠΏΠ΅Π½Π½Π΅Ρ.ΡΡ

