Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΡΠ΄ΡΠΎΡΠΎ 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), ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° IP ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ AccECN ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° UDP ΡΡΠ΅ΠΊΠ°.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ 15035 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ 2217 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΏΠ°ΡΠ° Π΅ 45 ΠΠ (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°ΡΡΠ³Π°Ρ 13142 ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° 601897 ΡΠ΅Π΄Π° ΠΊΠΎΠ΄, ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΡΠ° 355006 ΡΠ΅Π΄Π°). Π ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠΌΠ°ΡΠ΅ 14334 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ 2118 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΏΠ°ΡΠ° Π±Π΅ΡΠ΅ 46 ΠΠ. ΠΠΊΠΎΠ»ΠΎ 40% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² 6.18 ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 16% ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡ Π΄ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΊΠΎΠ΄, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, 12% ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ΅ΠΊ, 5% β Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ 3% β Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ΄ΡΠΎ.
ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΠ΄ΡΠΎΡΠΎ 6.18 (1, 2, 3):
- ΠΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Ρ
ΠΎΠ΄/ΠΈΠ·Ρ
ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ
- Π Device Mapper Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ dm-pcache Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½Π° ΠΏΠ°ΠΌΠ΅Ρ (CXL ΠΏΠ°ΠΌΠ΅Ρ, Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π° ΡΡΠ΅Π· DAX ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ) ΠΊΠ°ΡΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΠΊΠ΅Ρ ΠΏΡΠ΅Π΄ΠΈ ΠΏΠΎ-Π±Π°Π²Π½ΠΈΡΠ΅ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΠΈΠ»ΠΈ ΡΠ»Π°Ρ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ. Dm-pcache ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠ° Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π°Π²Π°ΡΠΈΠΈ (crash-safe) Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ½Π΅ΡΠ³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ° ΠΏΠ°ΠΌΠ΅Ρ, Π΄ΡΠ±Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈΡΠ΅ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΈ ΡΡΠΌΠΈ CRC32. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π° Π·Π°ΠΏΠΈΡ (write-back).
- ΠΡ ΡΠ΄ΡΠΎΡΠΎ Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ ΠΊΠΎΠ΄ΡΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Bcachefs, ΠΊΠΎΡΡΠΎ ΡΠ΅Π³Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Π½Π° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π²ΡΠ½ΡΠ΅Π½ ΠΌΠΎΠ΄ΡΠ», ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ DKMS (Dynamic Kernel Module Support). ΠΠΎΠ΄ΡΡ Π½Π° Bcachefs ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π²ΡΡΠ½Π°Ρ Π² ΡΡΡΡΠ°Π²Π° Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΠ΅Π½Ρ ΠΠ²Π΅ΡΡΡΡΠΈΡ Π½Π°ΠΈΡΡΠΈΠ½Π° Π΄ΠΎΠΊΠ°ΠΆΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π΄Π° ΡΠ»Π΅Π΄Π²Π° ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°.
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΠΏΠΎΠ²ΠΈΠΊ pwritev2() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠ»Π°Π³ RWF_NOSIGNAL, ΠΊΠΎΠΉΡΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠ³Π½Π°Π» SIGPIPE ΠΏΡΠΈ Π·Π°ΠΏΠΈΡ Π² ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΈ Π½Π΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ ΠΈΠ»ΠΈ ΡΠΎΠΊΠ΅ΡΠΈ.
- Π Procfs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Β«pidnsΒ» Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π·Π° ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ (PID namespace). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Β«mount -t proc -o pidns=\/proc\/self\/ns\/pid proc \/tmp\/procΒ».
- Π XFS Π΅ ΠΎΠ±ΡΠ²Π΅Π½Π° ΡΡΠ°Π±ΠΈΠ»Π½Π° ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° fsck Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² online-ΡΠ΅ΠΆΠΈΠΌ, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΎΡΠΌΠΎΠ½ΡΠΈΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠΎΠ²Π΅ file_getattr ΠΈ file_setattr Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (Π²ΡΠ΅ΠΊΠΈ inode). Π KConfig ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΠΎΠΏΡΠΈΠΈΡΠ΅ XFS_SUPPORT_V4 (4-ΡΠ° Π²Π΅ΡΡΠΈΡ XFS) ΠΈ XFS_SUPPORT_ASCII_CI (ΡΠ΅ΠΆΠΈΠΌ Π±Π΅Π· ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ ASCII), ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ. ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΡΠ° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ attr2, noattr2, ikeep ΠΈ noikeep.
- Π MD RAID Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π½ΠΎΠ² ΡΠΈΠΏ Π±ΠΈΡΠΎΠ²ΠΈ ΠΊΠ°ΡΡΠΈ β llbitmap (lockless bitmap), ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΡΠΈ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ.
- ΠΡ ΠΎΠ±ΡΠ°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Β«inodeΒ» Π΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ (ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ i_crypt_info ΠΈ i_verity_info). Π’Π°Π·ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° FUSE Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΠΏΠΎΠ²ΠΈΠΊ copy_file_range() ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ Ρ 64-Π±ΠΈΡΠΎΠ² ΡΠΈΠΏ (ΠΏΠΎ-ΡΠ°Π½ΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ 32-Π±ΠΈΡΠΎΠ² ΡΠ°Π·ΠΌΠ΅Ρ). ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ (FUSE_DEV_IOC_SYNC_INIT).
- Π Π€Π‘ ext4 Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° 32-Π±ΠΈΡΠΎΠ²ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ (uid) ΠΈ Π³ΡΡΠΏΠΈ (gid) ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ioctl-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ° Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈ Π€Π‘ (tune2fs ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π² ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ° Π±Π΅Π· ΠΏΡΠ°Π²Π° Π·Π° Π·Π°ΠΏΠΈΡ Π² Π±Π»ΠΎΡΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ). ΠΡΠ»Π½ΠΎ Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΎ ΠΎΡΡΠ°ΡΠ΅Π»ΠΎΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎ Π·Π° ext3.
- Π f2fs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Β«lookup_modeΒ» Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΡΡΠ΅Π½Π΅: perf β Ρ Π΅Ρ ΡΡΡΡΠ΅Π½Π΅, compat β Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ ΡΡΡΡΠ΅Π½Π΅, auto β Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ·Π±ΠΎΡ. ΠΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈΠΌΠ° ΡΠΌΠΈΡΡΠ» Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π² ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΎΡΡΠΈΡΠ° ΡΠ΅Π³ΠΈΡΡΡΡΡΡ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅. ΠΠΊΡΠΈΠ²Π½ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΡΡΠ΅Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΡΠ΅Π· ΡΠ°ΠΉΠ»Π° Β«\/sys\/fs\/f2fs\/\/effective_lookup_modeΒ». ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½Π΅ Π½Π° inode, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
- Π Overlayfs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π±Π΅Π· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅, Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠΎ ΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ»ΠΎΠ΅Π²Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° (Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°).
- Π BTRFS Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΡΠΈ Π²ΠΈΡΠΎΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π½ΠΈΡΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΠΏΠΈΡ, Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ Π΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠΈΠΊΡΠ°ΡΠΈΡ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ ΡΡΠΊΡΠ°ΡΠ΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ (ΠΎΡ ΠΌΠΈΠ½ΡΡΠΈ Π΄ΠΎ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ). ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ (bs), ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΡ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° (ps).
- Π ksmbd (ΡΠ°Π±ΠΎΡΠ΅Ρ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΄ΡΠΎ SMB-ΡΠ΅ΡΠ²Π΅Ρ) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π±ΡΠΎΠΉ Π²ΡΡΠ·ΠΊΠΈ ΠΎΡ Π΅Π΄Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. IP Π°Π΄ΡΠ΅ΡΠΈ. smbdirect, smbclient ΠΈ smbserver ΡΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»ΠΈ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
- Π SQUASHFS Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΠΏΠΎΠ²ΠΈΠΊ lseek() ΠΎΠΏΡΠΈΠΈ SEEK_DATA ΠΈ SEEK_HOLE Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΄ΡΠΏΠΊΠΈ Π² ΡΠ°Π·ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π Π½ΡΠΊΠΎΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΄ΠΎ 150 ΠΏΡΡΠΈ.
- Π EXFAT Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ioctl FS_IOC_GETFSLABEL ΠΈ FS_IOC_SETFSLABEL Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈ Π½Π° Π΄ΡΠ»ΠΎΠ²Π΅. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΎΠΏΡΠΈΠΈΡΠ΅ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅. Π£ΡΠΊΠΎΡΠ΅Π½ΠΎ Π΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π±ΠΈΡΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΡΡΠΈ.
- Π NTFS3 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ioctl FS_IOC_GETFSLABEL ΠΈ FS_IOC_SETFSLABEL Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈ Π½Π° Π΄ΡΠ»ΠΎΠ²Π΅.
- ΠΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ
- ΠΡΠΈΠ΅ΡΠ° Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΌΠ΅ΠΆΠ΄ΡΠΏΡΠΎΡΠ΅ΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Binder, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust. Binder ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Android Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΈ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ (Π΅Π΄ΠΈΠ½ Android ΠΏΡΠΎΡΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π² Π΄ΡΡΠ³ Android ΠΏΡΠΎΡΠ΅Ρ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Binder Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅). ΠΠΎΠ΄ΡΡ Π½Π° Binder Π΅ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Rust Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π°ΡΠ° Π½Π° Google Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Android.
- Π SLUB, Π°Π»Π»ΠΎΠΊΠ°ΡΠΎΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ, Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΡΠ»ΠΎΠΉ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Β«sheavesΒ», ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ΅ΡΠ°, Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΡΠ΄ΡΠΎ Π½Π° CPU, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. Π’Π°ΠΊΡΠ² ΠΊΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΠ΄ΡΠΎΡΠΎ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΡΠΈ Π°Π½Π³Π°ΠΆΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΄ΡΠ° Π½Π° CPU. Π ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π²Π°ΡΠΈΡΠ° ΠΎΡ 6.3% Π΄ΠΎ 31% Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π²ΠΈΠ΄Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π° (namespace). ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΡΠ° ΠΎΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ (οΌprocοΌ<pid>οΌnsοΌ), ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ΅ Π·Π°ΠΊΡΠ΅ΠΏΠ²Π° Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π° ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π° ΡΠΈΡΡΠ°ΡΠΈΡΡΠ°, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡΡ Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈ ΡΠΎΡΠΈ Π²Π΅ΡΠ΅ ΠΊΡΠΌ Π΄ΡΡΠ³ ΠΎΠ±Π΅ΠΊΡ. ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Ρ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° pidfds, ΠΎΡΠ²Π°ΡΡΠ½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡ ΠΊΡΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΡΠ° ΠΎΡ ΠΈΠΌΠ΅Π½Π°, ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ open_by_handle_at() ΠΈ name_to_handle_at().
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Β«Swap TableΒ», ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ²ΠΈΡΠ°Π²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π·Π° ΠΎΠ±ΠΌΠ΅Π½. Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡΡΠ° Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΊΠ΅ΡΠ° Π·Π° ΠΎΠ±ΠΌΠ΅Π½, ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅ Π² ΠΊΠ΅ΡΠ° ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ°. ΠΠ΅ΠΊΠ΅Π½Π΄ΡΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Swap Table Π΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΠΌΠ΅Π½Π°, Π²ΠΌΠ΅ΡΡΠΎ Π±Π΅ΠΊΠ΅Π½Π΄Π° XArray ΠΈ Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Π² ΡΡΠ΅Π΄Π½ΠΎ 5-20% ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. Π ΡΠ΅ΡΡΠ° usemem ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΅ Π½Π°ΡΠ°ΡΠ½Π°Π»Π° Ρ 17-28%, Π° Π² ΡΠ΅ΡΡΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½Π° ΠΏΡΠ΅ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ Ρ 1.12-3.19%. Π’Π΅ΡΡΠ° redis-benchmark Ρ BGSAVE ΠΏΠΎΠΊΠ°Π·Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Ρ 6-7%.
- ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Zswap Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»Π° Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ zsmalloc Π²ΠΌΠ΅ΡΡΠΎ ΡΠ»ΠΎΡ zpool, ΠΊΠΎΠΉΡΠΎ Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ.
- ΠΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΠΈ x86 Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΎΠΏΡΠΈΡ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«microcode=ΡΠΏΠΈΡΡΠΊ ΡΠ»Π°Π³ΠΎΠ²Π΅Β». Π Π½Π°ΡΡΠΎΡΡΠΈΡ ΡΠΈ Π²ΠΈΠ΄ Π½ΠΎΠ²Π°ΡΠ° ΠΎΠΏΡΠΈΡ Π΅ Π½Π°ΡΠ»Π΅Π΄ΠΈΠ»Π° Β«microcode.force_minrevΒ» ΠΈ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π° Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅.
- ΠΠ°ΠΏΠΎΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠ΅ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΈΠ·Π»ΠΈΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ΅Π½Π΅Π½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Β«pageΒ», ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠΈΠΏ βmemdesc_flags_tΒ» Π·Π° ΠΏΠΎΠ»Π΅ΡΠ° Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ»Π΅Π΄ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎΡΠΎ Π² Π±ΡΠ΄Π΅ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½Π΅ ΠΎΡ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Β«pageΒ» Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π·Π° slab ΠΈ ΡΠΎΠ»ΠΈΠ°Π½ΡΠΈ (folio).
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° nios2, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Altera Nios II (soft-ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° FPGA), Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ Π²ΠΈΠΊ clone3().
- Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ (KConfig) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π°ΡΡΠΈΠ±ΡΡ Β«transitionalΒ», ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΠΊΠ°ΡΠΎ Β«make menuconfigΒ», ΠΈ Π½Π΅ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π² Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π» Π½Π° Π°ΡΡΠΈΠ±ΡΡΠ° Π΅ ΡΠ»Π΅ΡΠ½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠΏΡΠΈΠΈ, Π·Π°ΠΏΠ°Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ.
- ΠΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Clang, Ρ ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° ΡΠ΄ΡΠΎΡΠΎ, Π΅ ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π° Π΄ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ LLVM 15. Π Debian 12 ΠΈ Ubuntu 22.04 ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° LLVM 14.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠΈ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΡ ΠΊΠ»ΠΎΠ½Π° Rust-for-Linux, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust ΠΊΠ°ΡΠΎ Π²ΡΠΎΡΠΈ Π΅Π·ΠΈΠΊ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Rust Π½Π΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ Π½Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΌΡ Π² Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ). Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π·Π° ΠΊΠΎΠ΄Π° Π½Π° Π΅Π·ΠΈΠΊΠ° Rust ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠ°ΠΌΠ΅Ρ, ΡΡΡΡΠΊΡΡΡΠ° maple tree, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ DebugFS ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π±ΠΈΡΠΎΠ²ΠΈ ΠΊΠ°ΡΡΠΈ. ΠΠΎΡΡΡΠΏΡΡ Π΄ΠΎ API Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½. ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΏΡΠ»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° USB-ΡΡΡΡΠΎΠΉΡΡΠ²Π° (ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° USB-Π΄ΡΠ°ΠΉΠ²Π΅Ρ). Π ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° perf Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΡΠ»Π°Π΄ΡΡΠ½ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° rustc.
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠ° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½ΠΈΡΠ΅ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΈΡΡΠΎΠ²Π° ΠΏΠΎΠ΄ΠΏΠΈΡ. Π Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°Π·ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²Π΅ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ.
- Π Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° KVM Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΡΠ° Intel CET (Control-flow Enforcement Technology), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π²ΡΡΡΠ°Π½Π΅ Π½Π° ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ (ROP β Return-Oriented Programming). Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ° Π΅, ΡΠ΅ ΡΠ»Π΅Π΄ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, Π°Π΄ΡΠ΅ΡΡΡ Π½Π° Π²ΡΡΡΠ°Π½Π΅ ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π° ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π½Π΅ ΡΠ°ΠΌΠΎ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊ, Π½ΠΎ ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΡΠΌΠ΅Π½ ΡΡΠ΅ΠΊ, ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠ½ ΠΏΡΡΠΊΠΎ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 255 CPU Π² Π³ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΠΎΠ΄ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° Bhyve Π½Π° Ρ ΠΎΡΡΠΎΠ²Π΅ Ρ FreeBSD 15.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠ»ΠΎΠΉ dibs (Direct Internal Buffer Sharing) Π·Π° ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠΈ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΡΡΠ΅Π΄Π°, ΠΊΠ°ΡΠΎ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π°ΡΠ΄ΠΈΡΠΎΡΡΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»Π° LSM (Linux Security Module).
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ virtio-Π΄ΡΠ°ΠΉΠ²Π΅Ρ spi-virtio Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ SPI-ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ (Serial Peripheral Interface) ΠΎΡ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ.
- Π Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° KVM Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌ SEV-SNP CipherText Hiding, ΠΊΠΎΠΉΡΠΎ Π±Π»ΠΎΠΊΠΈΡΠ° ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠΎΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π·Π°ΡΠΈΡΠ΅Π½ΠΈΡΠ΅ Π³ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠΈ Π² Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ CPU.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ qtee Π·Π° TEE ΡΡΠ΅Π΄ΠΈ (Trusted Execution Environment) Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Qualcomm.
- ΠΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° TCP-ΡΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» PSP (PSP Security Protocol), ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Google Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π°ΡΠ°ΡΠ΅Π½ΡΡΠΎΠ²Π΅ΡΠ΅. PSP ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅, ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° ΠΈ Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΠΊΠΈ ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ TLS ΠΈ IPsec. Π PSP ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π° Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΠΊΠ°Π½Π°Π» Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ. PSP ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ½Π΅Π»ΠΈΡΠ°Π½ΠΈ TCP-ΡΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π·Π° ΡΡΡΠΎΠ³Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠΈ. ΠΠ° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° CPU ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΈΠ·Π½ΠΎΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ°Π½Π° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΡΡΠΈ (offload). ΠΠ° ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° UDP, Π²ΡΡΡ
Ρ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠΎΠ±ΠΈΠ²Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ TCP ΠΏΠ°ΠΊΠ΅Ρ.

- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ AccECN (Accurate Explicit Congestion Notification), ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ ECN. Π’ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Ρ ΠΎΡΡΠΎΠ²Π΅ΡΠ΅ Π΄Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Ρ IP ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° Π³ΠΈ ΠΎΡΠ±Π»ΡΡΠΊΠ²Π°Ρ, ΠΊΠΎΠ΅ΡΠΎ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠ°Π»Π½ΠΈΡ Π΅ΡΠ°ΠΏ Π½Π° Π·Π°Π΄ΡΡΡΡΠ²Π°Π½Π΅ Π² ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΊΠ°Π½Π°Π»ΠΈ Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ. ΠΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎΡΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ ECN ΠΈΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΡΠΈΠ³Π½Π°Π» Π·Π° ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ ΡΠΈΠΊΡΠ» Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ (RTT, Round-Trip Time, ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ). AccECN ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π° ΡΠΎΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ Π½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π° Π½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΅Π΄Π½Π° ΠΌΠ°ΡΠΊΠ° Π·Π° ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π² Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π½Π° TCP ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΠΎ-ΡΠΎΡΠ½ΠΎ ΡΠ΅Π°Π³ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡΡΠ°, Π±Π΅Π· Π΄Π° ΡΠ΅ Π½Π°Π»Π°Π³Π° ΡΡΠ·ΠΊΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΠΈ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅.
- Π UDP ΡΡΠ΅ΠΊΠ° Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π²Ρ ΠΎΠ΄ΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° DDoS Π°ΡΠ°ΠΊΠΈ, Π²ΠΎΠ΄Π΅ΡΠΈ Π΄ΠΎ ΠΏΠΎΡΡΡΠΏΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ UDP ΡΠΎΠΊΠ΅ΡΠ°. ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠ°ΡΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΡΠΈΡΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° NUMA (Non-Uniform Memory Access), ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ Π½Π° UDP ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ 47% ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π² Π΅ΠΊΡΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ Π² NFS ΡΡΡΠ²ΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° NFS ΡΡΡΠ²ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΌΠ°Π»ΡΠΊ ΠΎΠ±Π΅ΠΌ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΡΠ·Π°Π½ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ). ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠ° ΡΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΈ 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), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² SoC Qualcomm IPQ9574.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° TCP-ΡΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» PSP (PSP Security Protocol), ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Google Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π°ΡΠ°ΡΠ΅Π½ΡΡΠΎΠ²Π΅ΡΠ΅. PSP ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅, ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° ΠΈ Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΠΊΠΈ ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ TLS ΠΈ IPsec. Π PSP ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π° Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΠΊΠ°Π½Π°Π» Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ. PSP ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ½Π΅Π»ΠΈΡΠ°Π½ΠΈ TCP-ΡΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π·Π° ΡΡΡΠΎΠ³Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠΈ. ΠΠ° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° CPU ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΈΠ·Π½ΠΎΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ°Π½Π° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΡΡΠΈ (offload). ΠΠ° ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° UDP, Π²ΡΡΡ
Ρ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠΎΠ±ΠΈΠ²Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ TCP ΠΏΠ°ΠΊΠ΅Ρ.
- ΠΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅
- Π―Π΄ΡΠΎΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Tyr, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Rust, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΠ°Π±ΠΎΡΠ° Ρ GPU ARM Mali, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ CSF (Π‘ommand Stream Frontend), ΠΊΠ°ΡΠΎ Mali G310, G510 ΠΈ G710. ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ Π³ΠΎΡΠΎΠ² Π·Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΎΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Π·Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ HID (Human interface device) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΡΠΏΠ°Π΄ΠΎΠ²Π΅ Ρ ΡΠ°ΠΊΡΠΈΠ»Π½Π° ΠΎΠ±ΡΠ°ΡΠ½Π° Π²ΡΡΠ·ΠΊΠ° ΠΈ Π΄Π°ΡΡΠΈΡΠΈ Π·Π° ΡΠΈΠ»Π° Π½Π° Π½Π°ΡΠΈΡΠΊΠ°.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ drm-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° (Direct Rendering Manager) Xe Π·Π° GPU, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Intel Xe, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΈΡΠ΅ Intel ΠΎΡ ΡΠ΅ΡΠΈΡΡΠ° Arc ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π°ΡΠ° Π³ΡΠ°ΡΠΈΠΊΠ°, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Tiger Lake. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ madvise, Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° SR-IOV PF (Single Root I/O Virtualization Physical Function), Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Intel PSMI Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ°, ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈ ΠΎΡ ΡΡΡΠΌΡΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ ΠΏΡΠΎΡΠΈΠ» Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΠΉΠ½Π° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ SLPC, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΏΠΎΠΌΠ°Π³Π°ΡΠ΅Π»Π½ΠΈ ΡΡΡΠΌΡΠ΅ΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π½Π° ΠΎΡ Π»Π°Π΄ΠΈΡΠ΅Π»Ρ ΠΈ ΡΠ΅Π³ΡΠ»Π°ΡΠΎΡΠ° Π½Π° Π½Π°ΠΏΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ) ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° AMDGPU Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ APU Cyan Skillfish, ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° AMD GCN 1.0, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° criu, Π² sysfs ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π·Π° ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ ΡΠ° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ΅ΠΌΠ°ΠΏΠΈΠ½Π³ Π½Π° MMIO ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° i915 Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΡΠΎ Wildcat Lake ΠΈ Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ GPU Jasper Lake, Elkhart Lake, Gen7 ΠΈ Gen6.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nouveau ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ° Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½ΠΈ GSP-ΡΡΡΠΌΡΠ΅ΡΠΈ Π½Π° NVIDIA ΠΈ Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ.
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nova Π·Π° GPU NVIDIA, ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½ΠΈ Ρ GSP-ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΡ ΡΠ΅ΡΠΈΡΡΠ° NVIDIA GeForce RTX 2000, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Turing. ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Rust. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° GSP-ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ, ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° Β«register!Β», Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ PCI-ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ rocket Π·Π° NPU ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² SoC Rockchip RK3588.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΡΠ΄ΡΠΎΡΠΎ Β«boot_displayΒ» Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ GPU.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° vesadrm Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° 8-Π±ΠΈΡΠΎΠ²ΠΈ ΠΏΠ°Π»ΠΈΡΡΠΈ.
- ΠΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° msm Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° GPU Adreno 663 ΠΈ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π΅Π½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ IFPC (Inter Frame Power Collapse).
- ΠΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° panthor Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° GPU Mali-G710, Mali-G510, Mali-G310, Mali-Gx15, Mali-Gx20 ΠΈ Mali-Gx25.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·Π²ΡΠΊΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ASoC Qualcomm Glymur ΠΈ PM4125, Realtek RT1321, Shanghai FourSemi FS2104/5S, Texas Instruments PCM1754 ΠΈ TAS2783A, qcs615, CS35L56 B2, tas2118, tas2x20, tas5825. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·Π²ΡΠΊΠΎΠ²ΠΈ USB ΠΊΠ°ΡΡΠΈ Tascam US-144mkII ΠΈ Presonus S1824c.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ARM CPU Cortex-A320/A520AE/A720AE ΠΈ C1-Nano/Pro/Premium/Ultra.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ARM ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, SoC ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°: Apple M2 Pro, M2 Max ΠΈ M2 Ultra, 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 Π΅ ΠΎΠ±Π½ΠΎΠ²Π΅Π½ ΠΊΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° blob-ΠΎΠ²Π΅ΡΠ΅ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Nova-Core, Intel XE, TI PRUeth, Lantiq GSWIP, Marvell WiFi-Ex. ΠΠ·Π²ΡΡΡΠ΅Π½ΠΎ Π΅ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° blob-ΠΎΠ²Π΅ΡΠ΅ Π² dts-ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ (devicetree) Π·Π° ARM-ΡΠΈΠΏΠΎΠ²Π΅ Qualcomm, Mediatek ΠΈ TI ARM64. ΠΠ΅ΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° blob-ΠΎΠ²Π΅ Π² Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ FourSemi fs2104/5s, TI TAS2783 ΠΈ Qualcomm GENI.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru

