Π‘Π»Π΅Π΄ ΡΠ΅ΡΠΈΡΠΈ ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΡΠ΅Π»ΠΈΠ· Π½Π° ΡΠ΄ΡΠΎΡΠΎ Linux 6.8. Π‘ΡΠ΅Π΄ Π½Π°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ: Π΄ΡΠ°ΠΉΠ²Π΅Ρ Xe Π·Π° GPU Intel, ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π·Π°ΡΠΈΡΠ° Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ Deadline server, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ»ΠΈΠ²Π°Π½ΠΈΡ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΡΡΠ²ΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust, ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠΈ listmount ΠΈ statmount, ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° bpfilter ΠΈ SLAB, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ guest_memfd Π² KVM, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Π΄Π°Π½Π½ΠΈ.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ° ΠΏΡΠΈΠ΅ΡΠΈ 15641 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ 2018 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΏΠ°ΡΠ° Π΅ 44 MB (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°ΡΡΠ³Π°Ρ 12212 ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° 663864 ΡΠ΅Π΄Π° ΠΊΠΎΠ΄, ΠΈΠ·ΡΡΠΈΡΠΈ ΡΠ° 339094 ΡΠ΅Π΄Π°). Π ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠΌΠ°ΡΠ΅ 18405 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ 2066 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΏΠ°ΡΠ° Π±Π΅ΡΠ΅ 72 MB. ΠΠΊΠΎΠ»ΠΎ 42% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ Π² 6.8 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 15% ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡ Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, 14% ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ, 6% β Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ 3% Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
Π Git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ Ρ ΡΠ΄ΡΠΎΡΠΎ 6.8 ΠΈΠΌΠ° 9.996 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΎΠ±Π΅ΠΊΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΠ²Π°, ΡΠ΅ ΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ ΡΠ΄ΡΠΎ 6.9 ΡΠ΅ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π΅ Π·Π½Π°ΠΊΠΎΠ²Π°ΡΠ° Π³ΡΠ°Π½ΠΈΡΠ° ΠΎΡ 10 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° git ΠΎΠ±Π΅ΠΊΡΠ°. ΠΠΎ-ΡΠ°Π½ΠΎ ΡΠΌΡΠ½Π°ΡΠ° Π½Π° Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ΡΠ΅ 3.x ΠΈ 4.x Π΄ΠΎΠ±ΡΠ΅ ΠΊΠΎΡΠ΅Π»ΠΈΡΠ° Ρ Π±ΡΠΎΡ git ΠΎΠ±Π΅ΠΊΡΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ β ΡΠ΄ΡΠΎΡΠΎ 3.0 Π±Π΅ΡΠ΅ ΠΏΡΡΠ½Π°ΡΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΠΌΠ°ΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΎΠ±Π΅ΠΊΡΠ°, Π° ΡΠ΄ΡΠΎΡΠΎ 4.0 β 4 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΎΠ±Π΅ΠΊΡΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΏΡΠ΅Π· 2019 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° 5.0 ΠΏΡΠ΅ΠΊΡΡΠ½Π° ΡΠ°Π·ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 6.5 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° git ΠΎΠ±Π΅ΠΊΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΠ΄ΡΠΎΡΠΎ 6.8:
- ΠΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Ρ
ΠΎΠ΄/ΠΈΠ·Ρ
ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ (ΡΠ»Π΅Π΄ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ°, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ root Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΠ΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ). ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ΠΆΠΈΠΌΡΡ Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° BLK_DEV_WRITE_MOUNTED ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ. ΠΠ° Π΄ΡΠ»ΠΎΠ²Π΅ΡΠ΅ Ρ Btrfs Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π² ΠΊΠΎΠ΄Π° Π½Π° Btrfs Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΠΏΡΠΈΠ΅ΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ listmount() ΠΈ statmount(), ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π½Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ Π΄Π΅ΡΠ°ΠΉΠ»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° XFS ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° fsck Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠΊΡΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΠΎΠ½Π»Π°ΠΉΠ½ ΡΠ΅ΠΆΠΈΠΌ, Π±Π΅Π· Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
- Π Ext4 Π·Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΠΎΡ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π΅ Π²ΡΠ²Π΅Π΄Π΅Π½ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ dioread_nolock, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΡΡΠ΅Π· ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π»ΠΈΡΠ½ΠΈΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡ. ΠΡΠΊΠΎΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»ΠΈ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΡΠΎΠ»ΠΈΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° (page folios).
- Π Btrfs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ»Π°Π³Π° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ βnospace_cacheβ Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ΅ΡΠ° Π½Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅. ΠΡΠΊΠΎΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»ΠΈ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΡΠΎΠ»ΠΈΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° (page folios).
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° EROFS (Π Π°Π·ΡΠΈΡΠΈΠΌΠ° ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΡΠ±ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΈ Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΏΡΠΈ Π½Π΅Π΄ΠΎΡΡΠΈΠ³ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° F2FS Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π·ΠΎΠ½ΠΈΡΠ°Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ (ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·ΠΎΠ½ΠΈ ΠΎΡ Π³ΡΡΠΏΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΠΎΡΠΈ, Π² ΠΊΠΎΠΈΡΠΎ Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ»Π°ΡΠ° Π³ΡΡΠΏΠ° Π±Π»ΠΎΠΊΠΎΠ²Π΅).
- ΠΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° SMB Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
- Π Bcachefs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΡΠ°ΡΡΠΈΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° device-mapper Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ MD_LINEAR, MD_MULTIPATH ΠΈ MD_FAULTY, ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΠΏΡΠ΅Π· 2021 Π³ΠΎΠ΄ΠΈΠ½Π°.
- ΠΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Zswap Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΏΡΠΈ Π½Π΅Π΄ΠΎΡΡΠΈΠ³ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΠΈΠ·Π½ΠΎΡ Π² ΡΠ΅Π°Π»Π΅Π½ Π΄ΡΠ» Π·Π° ΡΠ°Π·ΠΌΡΠ½Π° Π½Π° βΡΡΡΠ΄Π΅Π½ΠΈβ ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π΄ΠΎ ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π΅ ΠΈΠΌΠ°Π»ΠΎ Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ΅ ΠΎΡΡΠ°Π½Π°Ρ Π½Π΅Π½ΡΠΆΠ½ΠΈ. Zswap ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠΈ Π·Π° ΡΠ°Π·ΠΌΡΠ½Π°, ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΉΠΊΠΈ Π³ΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π² ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ Π²ΠΈΠ΄, ΠΏΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π° Π² ΡΠ΅Π°Π»Π΅Π½ Π½Π΅ΠΊΠΎΠ½Π΄Π΅Π½Π·ΠΈΡΠ°Π½ Π΄ΡΠ» Π·Π° ΡΠ°Π·ΠΌΡΠ½Π° Π½Π° Π΄ΠΈΡΠΊΠ°. ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΏΡΠΈ Π½Π΅Π΄ΠΎΡΡΠΈΠ³ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π² ΠΠΠ£ Π½Π° ΠΏΡΠ» Zswap ΠΈ Π΄Π° ΡΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΡΡ ΠΏΠ°ΠΌΠ΅ΡΠΈ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
- Π Zswap Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ² ΡΠ΅ΠΆΠΈΠΌ, ΠΊΠΎΠΉΡΠΎ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΎΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ (writeback) Π² ΡΠ΅Π°Π»Π½ΠΈΡ Π΄ΡΠ» Π·Π° ΡΠ°Π·ΠΌΡΠ½Π°, Π°ΠΊΠΎ ΠΎΠΏΠΈΡΡΡ Π·Π° Π·Π°ΠΏΠΈΡ Π½Π΅ ΡΡΠΏΠ΅Π΅, ΠΈ Π½Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π° Π²Π΅ΡΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ Π² ΠΏΡΠ» zswap ΡΡΡΠ°Π½ΠΈΡΠΈ Π² Π΄ΡΠ»Π° Π·Π° ΡΠ°Π·ΠΌΡΠ½Π°.
- Π ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ SCHED_DEADLINE server, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° CPU ΡΠ΅ΡΡΡΡΠΈ ΠΎΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π² ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠ·Π°ΡΠΈΡ Π½Π° CPU ΠΎΡ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΈ (realtime) Π·Π°Π΄Π°ΡΠΈ. ΠΠ° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° CPU, Π² ΡΠ΄ΡΠΎΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ΅ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π» ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Realtime throttling, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΡΠ΅ Π΄Π° ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ° 5% Π·Π° Π½ΠΈΠ·ΠΊΠΎΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ, ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ 95% ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° realtime-Π·Π°Π΄Π°ΡΠΈ. Π’ΠΎΠ·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π° ΡΠ΅ ΠΆΠ΅Π»Π°Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅. SCHED_DEADLINE server ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° DAMON (Data Access MONitor), ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π΄ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ Π΄ΠΎ ΠΊΠΎΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π΅ ΡΠ²ΡΡΠ·Π°Π½ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ ΠΊΠΎΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΎΡΡΠ°Π²Π°Ρ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ), Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Π°Π³ΡΠ΅ΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° Π±Π°Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΊΠ²ΠΎΡΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ (mTHP β multi-size Transparent Huge Pages), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠΈΡΠΎ Π΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ ΠΎΡ Π±Π°Π·ΠΎΠ²Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ°, Π½ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½Π°ΡΠ° THP-ΡΡΡΠ°Π½ΠΈΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΎΠ»ΠΈΠ°Π½ΡΠΈ (page folios, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ) Π·Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ (Π½Π΅ΠΏΡΠΈΠ²ΡΡΠ·Π°Π½Π° ΠΊΡΠΌ FS, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΡΡΠ΅Π· malloc). ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ° Π½Π°ΡΠΎΡΠ΅Π½ΠΈ ΠΊΡΠΌ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΡΠ΅Π· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΏΠ°ΠΌΠ΅Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Π½Π΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ (page faults). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΎΠ»ΠΈΠ°Π½ΡΠΈ Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Ρ 5% (ΠΏΡΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΏΡΠ΅ΠΊΠ°ΡΠ°Π½ΠΎ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΄ΡΠΎ, Ρ 40%).
- Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ TRANSPARENT_HUGEPAGE_NEVER, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ (Transparent Huge Pages).
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΠΏΠΎΠ²ΠΈΠΊ userfaultfd(), ΠΊΠΎΠΉΡΠΎ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° Π΄ΠΎΡΡΡΠΏΠΈ Π΄ΠΎ Π½Π΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ (page faults) Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ UFFDIO_MOVE, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΠΏΡΠΈ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° ΠΊΡΠΏΠ° (heap compaction) Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² Π²ΠΈΡΡΡΠ°Π»Π½ΠΎΡΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π±Π΅Π· ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. Π ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ UFFDIO_MOVE Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Ρ 40% Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° UFFDIO_COPY.
- ΠΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Β«KSM advisorΒ», ΠΊΠΎΠΉΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° (KSM β Kernel Samepage Merging).
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΠΏΡΠ΅Π½ΠΎΡΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡΠ° ΠΎΡ ΠΊΠ»ΠΎΠ½Π° Rust-for-Linux, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust ΠΊΠ°ΡΠΎ Π²ΡΠΎΡΠΈ Π΅Π·ΠΈΠΊ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Rust Π½Π΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ Π½Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Rust ΡΡΠ΅Π΄ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ). Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π΄ΠΎΠ±Π°Π²ΡΡΠΈ Rust-ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π½Π°Π΄ Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ phylib, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ax88796b_rust, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° PHY ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Ethernet ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Asix AX88772A (100MBit). ΠΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ Π½Π° Rust Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Π½Π° ΡΡΠ°ΡΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ax88796b, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C, ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΊΠ°ΡΡΠΈ X-Surf 100, ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½ΠΈ Ρ ΡΠΈΠΏΠ° AX88796B. ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° LoongArch Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust. ΠΠ·Π²ΡΡΡΠ΅Π½ Π΅ ΠΏΡΠ΅Ρ ΠΎΠ΄ ΠΊΡΠΌ Π²Π΅ΡΡΠΈΡ Rust 1.74.1.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ BPF token, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π΅Π»Π΅Π³ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° BPF, ΠΊΠ°ΡΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΈΠ»ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° BPF map, Π½Π° Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΡΠΈΡΡΠΎ Π΄ΠΎΡΡΠΎΠ²Π΅ΡΠ½ΠΎΡΡ Π΅ ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΡΠΎΠΊΠ΅Π½.
- Π Π°Π·ΡΠΈΡΠ΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π·Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ.
- Π ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° perf Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ Π² ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΡΠ΅Π» ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΠΉ-Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎΠ»Π΅ΡΠ° Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠ΅. ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ° (Intel, AMD, ARM), Π·Π° Π½Π°ΡΡΡΠΏΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«perf mem recordΒ», Π° Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΎΡΡΠ΅Ρ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ β Β«perf annotate βdata-typeΒ».
- ΠΠ·Π²ΡΡΡΠ΅Π½Π° Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° s390 (IBM Z), ΠΊΠΎΡΡΠΎ Π΅ Π΄ΠΎΠ²Π΅Π»Π° Π΄ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ Ρ ΠΎΠΊΠΎΠ»ΠΎ 11% Π² ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±ΡΡΠ΅ΡΠΈΡΠ΅ Π·Π° ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° Π±ΡΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΠ±ΠΈΡΠΈΡ Π½Π° ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ°, ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ.
- ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΎΠ±ΡΠ²Π΅Π½ΠΈΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° SLAB Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Π½, ΠΊΠ°ΡΠΎ Π² ΡΠ΄ΡΠΎΡΠΎ ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΌΠΎ SLUB. ΠΡΠΈΡΠΈΠ½ΠΈΡΠ΅ ΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ°, Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ΄Π° ΠΈ Π΄ΡΠ±Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Ρ ΠΏΠΎ-ΡΡΠ²ΡΡΡΠ΅Π½ΠΈΡ Π°Π»ΠΎΠΊΠ°ΡΠΎΡ SLUB.
- ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠ»Π°Π³ΡΡ '-Wmissing-prototypes', ΠΊΠΎΠΉΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π·Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½ΡΠΌΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΡΠΈΠΏ.
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ SUSP SBI Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ Ρ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π² RAM. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ Π·ΠΎΠ² riscv_hwprobe() Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° RISC-V.
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ lsm_list_modules(), lsm_get_self_attr() ΠΈ lsm_set_self_attr() Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΏΠΈΡΡΠΊ Ρ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΈ LSM ΠΌΠΎΠ΄ΡΠ»ΠΈ (Linux Security Modules) ΠΈ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅/Π½Π°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ Π½Π° LSM ΠΌΠΎΠ΄ΡΠ»Π°. ΠΡΠ²Π΅Π΄Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΡΡΡΡΠΊΡΡΡΠ° lsm_ctx Π·Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° LSM ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ ΡΠ΄ΡΠΎΡΠΎ.
- ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° AppArmor Π΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½Π° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° SHA-256 Π·Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ°, Π²ΠΌΠ΅ΡΡΠΎ Ρ Π΅ΡΠΎΠ²Π΅ΡΠ΅ SHA-1.
- ΠΡ ΡΠ΄ΡΠΎΡΠΎ Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° strlcpy(), ΠΊΠΎΡΡΠΎ Π»ΡΡΠΎΡΠΎ Π±Π΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² C Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Glibc 3.38. Strlcpy Π΅ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° strncpy(), ΠΊΠΎΡΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΠΏΡΠ΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ° ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Π΄ΠΎΠ±Π°Π²Ρ Π½ΡΠ»Π΅Π² Π±Π°ΠΉΡ Π·Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΈΠ·.
- Π Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ KVM ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° guest_memfd (guest-first memory), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, guest_memfd ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π·Π°Π΄Π΅Π»ΠΈ ΠΈ ΠΎΡΡΠ°Π·ΠΈ Π² Π³ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·ΠΎΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ, Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° Π·Π° Ρ ΠΎΡΡ ΠΎΠΊΠΎΠ»Π½Π°ΡΠ° ΡΡΠ΅Π΄Π°, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ.
- ΠΠ° Π³ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ KVM, Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈΡ Π² Intel ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ LAM (Linear Address Masking), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΡΡ ΠΎΡ Π±ΠΈΡΠΎΠ²Π΅ΡΠ΅ Π½Π° 64-Π±ΠΈΡΠΎΠ²ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ (ΠΎΡ 57 Π΄ΠΎ 62 Π±ΠΈΡ) Π·Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π½Π΅ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ.
- Π Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ KVM Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ARM64, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° 52-Π±ΠΈΡΠΎΠ²ΠΈ (LPA2) ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠΈ. ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° x86 Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π±Π΅Π· Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΈΡΠ΅ Hyper-V, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ iaa (IAA Compression Accelerator) Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ ΠΈ ΡΠ°Π·ΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΌΠ΅ΡΠΎΠ΄ DEFLATE, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈΡΠ΅ Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠΈ Intel Analytics Accelerator (IAA).
- ΠΠ° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° Ρ ΠΎΡΡ-ΡΡΠ΅Π΄Π°ΡΠ° Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Intel TDX (Trusted Domain Extensions), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ KVM Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π·Π°ΡΠΈΡΠ΅Π½ΠΈ Π³ΠΎΡΡΡΠ²Π°ΡΠΈ ΡΡΠ΅Π΄ΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ.
- Π SELinux Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ SID-ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ βinitβ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅, ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ Π² Π½Π°ΡΠ°Π»Π½ΠΈΡ Π΅ΡΠ°ΠΏ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅, ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ Π½Π° SELinux. ΠΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° /sys/fs/selinux Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° SELinux.
- ΠΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° Π΅ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²Π° ΡΠ΅ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ, ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° Ρ ΡΠ΅Π» ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ. ΠΠΎ-ΡΠ°Π½ΠΎ ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ socks, netdev, netns ΠΈ mibs Π±ΡΡ Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΈΡ ΠΊΠ΅Ρ. ΠΡΠ΅ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° TCP, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ΅Ρ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅. Π ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ TCP-ΡΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π½Π΅ 40%.
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° Π΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° bpfilter, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ° BPF Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ. Bpfilter Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΎΡ Π²Π΅ΡΡΠΈΡ 4.18, Π½ΠΎ Π½Π΅ Π±Π΅ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅Π½ Π΄ΠΎ Π½ΠΈΠ²ΠΎ, Π³ΠΎΠ΄Π½ΠΎ Π·Π° ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. ΠΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΊΠΎΠ΄ΡΡ Π½Π° bpfilter Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π΅ Π΅ Π±ΠΈΠ» ΡΠ°Π·Π²ΠΈΠ²Π°Π½, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΠ»Π° ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Facebook Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
- ΠΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅
- ΠΠΊΠ»ΡΡΠ΅Π½ Π½ΠΎΠ²ΠΈΡΡ drm-Π΄ΡΠ°ΠΉΠ²Π΅Ρ (Direct Rendering Manager) Xe Π·Π° GPU, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Intel Xe, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΊΠ°ΡΡΠΈ Intel ΠΎΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΡΠΎ Arc ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π°ΡΠ° Π³ΡΠ°ΡΠΈΠΊΠ°, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Tiger Lake. ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ Xe Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΊΠΎΠ΄Π° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΠ°ΡΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° Ρ Π½ΠΎΠ²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΊΠΎΡΡΠΎ ΠΏΠΎ-Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° DRM, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠΈΠΏΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° i915, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ GPU, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ΄ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΅ΠΊΡΠ°Π½ΠΈ, ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° execbuf. Π Mesa ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° OpenGL ΠΈ Vulkan Π²ΡΡΡ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Xe Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ Π² ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ Mesa-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Iris ΠΈ ANV.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° i915 ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Intel LunarLake (Xe 2). ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Intel Meteor Lake.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nouveau Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΡΡΡΠΌΡΠ΅Ρ GSP Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ GPU NVIDIA, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ Turing ΠΈ Ampere, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° GPU ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΎΡ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ GSP (GPU System Processor). ΠΡΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΡΡΠ΅Π· ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΡΡΡΠΌΡΠ΅ΡΠ°, Π²ΠΌΠ΅ΡΡΠΎ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ°.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° AMDGPU Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ACPI WBRF ΠΈ VPE DPM, ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½Π° Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΊΠ°Π½Π°Π»Π° PCIe, Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΎΠΏΠ°ΡΠΊΠΈ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ 64-Π±ΠΈΡΠΎΠ²ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ Π½ΠΎΠΌΠ΅ΡΠ°, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° AMD ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ²Π΅ΡΠ°, ΡΠ΅ΡΠ΅Π½ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Ρ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ Π² ΡΠΏΡΡ ΡΠ΅ΠΆΠΈΠΌ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½Π°ΡΠ°Π»Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π·Π° GPU Broadcom VideoCore 7.1, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ΠΏΠ»Π°ΡΠΊΠΈΡΠ΅ Raspberry Pi 5.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° GPU ΡΠ΅ΡΠΈΡ PowerVR 6, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Rogue ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Imagination Technologies.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Thunderbolt/USB4, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ Π² ΡΠΈΠΏΠΎΠ²Π΅ Ρ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Intel Lunar Lake.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° ΠΊΠ°ΠΌΠ΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² SoC Starfive, GalaxyCore GC2145/GC0308, Chips&Media Wave ΠΈ THine THP7312.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ NSO (Nintendo Switch Online) β Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° ΡΡΠ°ΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ ΠΎΡ SNES (Super Nintendo), Genesis ΠΈ N64 (Nintendo 64), Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½ΠΈ Π·Π° Nintendo Switch. ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° Π³Π΅ΠΉΠΌΠΏΠ°Π΄ΠΎΠ²Π΅ΡΠ΅ Adafruit Seesaw. Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° xpad Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Lenovo Legion Go.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° dts Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Powkiddy RK2023, Powkiddy X55 ΠΈ Anbernic RG351V.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π·Π²ΡΠΊΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ NXP i.MX8m MICFIL, Qualcomm SM8250, AMD ACP5x, Intel Arrow Lake, SM8550, SM8650 ΠΈ X1E80100.
- ΠΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° AMD Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π±ΡΠ΄Π΅ΡΠ°ΡΠ° ΡΠ΅ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° Π±Π°Π·Π° Π½ΠΎΠ²Π°ΡΠ° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Zen 5.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ARM64 SoC: Qualcomm SM8650 (Snapdragon 8 Gen 3), Qualcomm X1E80100 (Snapdragon X Elite), Samsung Exynos Auto v920, Google GS101 (Tensor G1), MediaTek MT8188 ΠΈ Unisoc UMS9620 (Tanggula 7).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ARM ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°: Huashan Pi, Microsoft Lumia, HTC One Mini 2, Motorola MotoG 4G, Huawei Honor 5X/GR5, Anbernic RG351V, Powkiddy RK2023, Powkiddy X55, ComXpress Π½Π° Π±Π°Π·Π° Marvell CN913x, Chromebook Lenovo, Asus ΠΈ Acer Π½Π° Π±Π°Π·Π° Mediatek MT8183, Toradex Verdin AM62, ΠΏΠ»Π°ΡΠΊΠΈ Π½Π° Π±Π°Π·Π° Allwinner H616/H618.
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ARM11 ARMv6K SMP.
ΠΠ΅ΠΆΠ΄ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π»Π°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΡΡ Π€ΠΎΠ½Π΄ Π·Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ ΠΎΡΠΎΡΠΌΡ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ΄ΡΠΎ 6.8 β Linux-libre 6.8-gnu, ΠΏΠΎΡΠΈΡΡΠ΅Π½ΠΎ ΠΎΡ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΡΡΠΌΡΠ΅Ρ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ Π½Π΅ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈ ΠΎΡ ΠΊΠΎΠ΄, ΡΠΈΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ. Π Π²Π΅ΡΡΠΈΡ 6.8 Π΅ ΠΎΠ±Π½ΠΎΠ²Π΅Π½ ΠΊΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠ±ΠΎΠ²Π΅ΡΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΎ Π΅ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Intel qat_420xx, Imagination PowerVR, Intel Xe, Chips&Media Wave5, Intel VSC, Aquantia PHY ΠΈ Realtek rtw8922a. ΠΡΠ² Π²ΡΡΠ·ΠΊΠ° Ρ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ΡΠΎ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ Π΅ ΡΠΏΡΡΠ½ΠΎ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ atmel, hermes, orinoco_usb, libertas_cs ΠΈ zd1201. ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΎ Π΅ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° Π±Π»ΠΎΠ±ΠΎΠ²Π΅ΡΠ΅ Π² dts ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ (devicetree) Π·Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ ARM ΠΈ Aarch64. ΠΡΡΡΡΠ°Π½Π΅Π½ΠΈ ΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Ρ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° i915.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
