Π‘Π»Π΅Π΄ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π° 15100 1882 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ XNUMX XNUMX ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ,
ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡΡΠ° - 62 MB (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°ΡΠ΅Π³Π½Π°Ρ
Π° 30889 ΡΠ°ΠΉΠ»Π°, 625094 ΡΠ΅Π΄Π° ΠΊΠΎΠ΄ Π±ΡΡ
Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ, 531864 ΡΠ΅Π΄Π° Π±ΡΡ
Π° ΠΈΠ·ΡΡΠΈΡΠΈ). ΠΠΊΠΎΠ»ΠΎ 45% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ Π² 5.2
ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 21% ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ°
ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π°, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈΡΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ, 12%
ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ, 3% Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ 3% Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈΡΠ΅
ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ. 12.4% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΠΎΡ Intel, 6.3% ΠΎΡ Red Hat, 5.4% ΠΎΡ Google, 4.0% ΠΎΡ AMD, 3.1% ΠΎΡ SUSE, 3% ΠΎΡ IBM, 2.7% ΠΎΡ Huawei, 2.7% ΠΎΡ Linaro, 2.2% ΠΎΡ ARM , 1.6 % - Oracle.
- ΠΠΈΡΠΊΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, I/O ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π·Π° Ext4
ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ° ΡΠ°Π±ΠΎΡΡΡ, Π±Π΅Π· Π΄Π° ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ°Π²Π°Ρ ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° Π±ΡΠΊΠ²ΠΈΡΠ΅ Π² ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΡΠ°ΠΌΠΎ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΡΠ°Π·Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π½ΠΎΠ²ΠΈΡ Π°ΡΡΠΈΠ±ΡΡ β+Fβ (EXT4_CASEFOLD_FL). ΠΠΎΠ³Π°ΡΠΎ ΡΠΎΠ·ΠΈ Π°ΡΡΠΈΠ±ΡΡ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π²ΡΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π²ΡΡΡΠ΅ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ, Π±Π΅Π· Π΄Π° ΡΠ΅ Π²Π·Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠ΅Π³ΠΈΡΡΡΡΡΡ Π½Π° Π·Π½Π°ΡΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΡΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Π½ ΠΏΡΠΈ ΡΡΡΡΠ΅Π½Π΅ ΠΈ ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Test.txt, test.txt ΠΈ test.TXT Π² ΡΠ°ΠΊΠΈΠ²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΡΠ΅ ΡΠ΅ ΡΡΠΈΡΠ°Ρ Π·Π° Π΅Π΄Π½Π°ΠΊΠ²ΠΈ). ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° Π΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½Π° ΠΊΡΠΌ Π³Π»Π°Π²Π½ΠΈ ΠΈ ΠΌΠ°Π»ΠΊΠΈ Π±ΡΠΊΠ²ΠΈ, Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ Π°ΡΡΠΈΠ±ΡΡΠ° βchattr +Fβ; - Π£Π½ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° UTF-8 ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Π² ΠΈΠΌΠ΅Π½Π° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅;
- XFS Π΄ΠΎΠ±Π°Π²Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Π½ΠΎΠ² ioctl Π·Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ. ΠΠ½Π΅Π΄ΡΠ΅Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΠΎΠ½Π»Π°ΠΉΠ½ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π±ΡΠΎΡΡΠΈ Π½Π° ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠΎΠ²Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΠΌΠΎΠ΄ΡΠ» device-mapper "
dm-ΠΏΡΠ°Ρ β, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠΈΠΌΡΠ»ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π»ΠΎΡΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° Π½ΠΎΡΠΈΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ ΠΎΡ Π΄ΠΈΡΠΊ. ΠΠΎΠ΄ΡΠ»ΡΡ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΠΏΡΠΎΡΡΠΈΡΠ΅ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ; -
ΠΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π·Π° BFQ I/O Scheduler. Π ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ I/O Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΠ°ΠΌΠ°Π»Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π΄ΠΎ 80%. - ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ:
fsopen() ,open_tree() ,fspick() ,fsmount() ,fsconfig() ΠΈmove_mount() . Π’Π΅Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΎ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅ΡΠ°ΠΏΠΈ Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ (ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ°, ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅, ΠΏΡΠΈΠΊΠ°ΡΠ²Π°Π½Π΅ ΠΊΡΠΌ ΡΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅), ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ° Π±ΠΈΠ»ΠΈ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΠ±ΡΠΎΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ mount(). ΠΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ°, Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΠΈ, ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π°. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΠΎΡΠ΄Π΅Π»Π½Π°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠΎΡΠ½ΠΎ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠΉΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠ°ΡΠΎ overlayfs; - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ IORING_OP_SYNC_FILE_RANGE ΠΊΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ I/O io_uring, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅
sync_file_range() , Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π²Π½Π΅Π΄ΡΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° eventfd Ρ io_uring ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π·Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅; - ΠΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° CIFS Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ioctl FIEMAP, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΊΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΅ΠΊΡΡΠ΅Π½ΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ SEEK_DATA ΠΈ SEEK_HOLE;
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° FUSE
ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ API Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ; - Btrfs ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° qgroups ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° fsync Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ²ΡΡΠ΄ΠΈ Π²ΡΡΠ·ΠΊΠΈ. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ Π΅ ΠΊΠΎΠ΄ΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΉΡΠΎ Π²Π΅ΡΠ΅ ΠΎΡΡΠΈΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈΡΠ΅ ΡΠ΅ΡΠΈ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π² RAM, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π·Π°ΡΠ΅Π΄ΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°;
- CEPH Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΡΠ΅Π· NFS;
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° NFSv4 ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π² βΠΌΠ΅ΠΊβ ΡΠ΅ΠΆΠΈΠΌ Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ (Π°ΠΊΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΡΡΡΠ²ΡΡΠ° Π² βΠΌΠ΅ΠΊβ ΡΠ΅ΠΆΠΈΠΌ, ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²Π΅Π΄Π½Π°Π³Π° Π²ΡΡΡΠ° ΠΊΠΎΠ΄ Π·Π° Π³ΡΠ΅ΡΠΊΠ°, Π° Π² βΡΠ²ΡΡΠ΄β ΡΠ΅ΠΆΠΈΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΡ Π½Π΅ ΡΠ΅ Π΄Π°Π²Π°, Π΄ΠΎΠΊΠ°ΡΠΎ FS Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ΡΠΎ Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΎ). ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎ-ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅, ΠΏΠΎ-Π±ΡΡΠ·ΠΎ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΏΡΠΈ ΡΡΠΈΠ² ΠΈ Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡ Π·Π° βΠΌΠ΅ΠΊΠΎβ ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄Π° Π·Π° Π³ΡΠ΅ΡΠΊΠ° (ETIMEDOUT), Π²ΡΡΠ½Π°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°ΡΡΡΠΏΠΈ ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅;
- API nfsdcld, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° NFS ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° NFS ΡΡΡΠ²ΡΡΠ° Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΡΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅. Π’Π°ΠΊΠ° Π΄Π΅ΠΌΠΎΠ½ΡΡ nfsdcld Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ Π½Π° nfsdcltrack;
- ΠΠ° AFS
Π΄ΠΎΠ±Π°Π²ΠΈ Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π½Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ Π±Π°ΠΉΡΠΎΠ²Π΅ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (ΠΠ°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ Π²Π°ΡΠ° Π½Π° Π±Π°ΠΉΡΠΎΠ²Π΅ΡΠ΅ );
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π·Π° Ext4
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
- ΠΠ·Π²ΡΡΡΠ΅Π½Π° Π΅ ΡΠ°Π±ΠΎΡΠ° Π·Π° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΡΡΠ° Π² ΡΠ΄ΡΠΎΡΠΎ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ ΠΎΡ Π·Π°ΠΏΠΈΡΠ²Π°Π΅ΠΌΠΈ ΠΎΡΡΠ°Π·Π΅Π½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π΄ΡΠΏΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π°ΡΠ°ΠΊΠ°;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π½Π° ΡΠ΄ΡΠΎΡΠΎ βmitigations=", ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΎΠΏΡΠΎΡΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. ΠΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° βmitigations=offβ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ° Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ, Π° ΡΠ΅ΠΆΠΈΠΌΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ βmitigations=autoβ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π·Π°ΡΠΈΡΠ°, Π½ΠΎ Π½Π΅ Π·Π°ΡΡΠ³Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Hyper Threading. Π Π΅ΠΆΠΈΠΌΡΡ βmitigs=auto,nosmtβ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ° Hyper Threading, Π°ΠΊΠΎ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° Π·Π°ΡΠΈΡΠ°.
-
ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π΅Π½ ΡΠΈΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΏΠΈΡ ΡΡΠ³Π»Π°ΡΠ½ΠΎ GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3),ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ ΠΠΈΡΠ°Π»ΠΈΠΉ Π§ΠΈΠΊΡΠ½ΠΎΠ² ΠΎΡ Basalt SPO. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° AES128-CCM ΠΊΡΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° TLS. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° AEAD Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΊΡΠΌ ΠΌΠΎΠ΄ΡΠ»Π° crypto_simd; - Π Kconfig
Π΄ΠΎΠ±Π°Π²ΠΈ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ°Π·Π΄Π΅Π» βΠ·Π°Π·Π΄ΡΠ°Π²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎβ Ρ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ. ΠΠΎΠ½Π°ΡΡΠΎΡΡΠ΅ΠΌ Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π» ΡΡΠ΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° GCC; - ΠΠΎΠ΄ΡΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π΅ ΠΏΠΎΡΡΠΈ
Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π΅ΠΌΠΈ case ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π² switch (Π±Π΅Π· return ΠΈΠ»ΠΈ break ΡΠ»Π΅Π΄ Π²ΡΠ΅ΠΊΠΈ case Π±Π»ΠΎΠΊ). ΠΡΡΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Ρ 32 ΠΎΡ 2311 ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΠ°ΠΊΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅Π», ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ΠΆΠΈΠΌΡΡ β-Wimplicit-fallthroughβ ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ; - ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° PowerPC Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈ ΠΏΡΡΠΈΡΠ° Π·Π° Π΄ΠΎΡΡΡΠΏ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΠΊΠΎΠ΄
Π°ΡΠ°ΠΊΠ° MDS (Microarchitectural Data Sampling) ΠΊΠ»Π°Ρ Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° Intel. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π΄Π°Π»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ ΡΡΠ·Π²ΠΈΠΌΠ° ΠΊΡΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° SysFS β/sys/devices/system/cpu/vulnerabilities/mdsβ.Π½Π°Π»ΠΈΡΠ΅Π½ Π΄Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° Π·Π°ΡΠΈΡΠ°: ΠΏΡΠ»Π΅Π½, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄, ΠΈ Π±Π°ΠΉΠΏΠ°Ρ, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΈΠ·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈ ΠΊΡΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π³ΠΎΡΡΠΈ. ΠΠ° Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π½Π° Π·Π°ΡΠΈΡΠ°, ΠΊΡΠΌ ΡΠ΄ΡΠΎΡΠΎ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΡΡ βmds=β, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ βΠΏΡΠ»Π΅Π½β, βΠΏΡΠ»Π΅Π½, nosmtβ (+ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Hyper-Threads) ΠΈ βΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΎβ; - Π x86-64 ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π·Π°ΡΠΈΡΠ° "stack guard-page" Π·Π° IRQ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΠΈΡΡΠΎ ΡΡΡΠ½ΠΎΡΡ Π΅ Π·Π°ΠΌΡΠ½Π°ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π³ΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΡΡ ΡΡΠ΅ΠΊΠ°, Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΠΊΠΎΠΉΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ (ΡΡΡΠ°Π½ΠΈΡΠ°-Π³ΡΠ΅ΡΠΊΠ°);
- ΠΠΎΠ±Π°Π²Π΅Π½Π° sysctl Π½Π°ΡΡΡΠΎΠΉΠΊΠ° vm.unprivileged_userfaultfd, ΠΊΠΎΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π½Π° Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ userfaultfd();
- ΠΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
-
ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΡ ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° IPv6 ΡΠ»ΡΠ· Π·Π° IPv4 ΠΌΠ°ΡΡΡΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΊΠ°ΡΠΎ βip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0β; - ΠΠ° ICMPv6 ioctl ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° icmp_echo_ignore_anycast ΠΈ icmp_echo_ignore_multicast ΡΠ° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ, Π·Π° Π΄Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Ρ ICMP ECHO Π·Π° anycast ΠΈ
ΠΌΡΠ»ΡΠΈΠΊΠ°ΡΡ Π°Π΄ΡΠ΅ΡΠΈ.ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ICMPv6 ΠΏΠ°ΠΊΠ΅ΡΠΈ; - ΠΠ° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» BATMAN (Better Approach To Mobile Adhoc Networking), ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ, Π² ΠΊΠΎΠΈΡΠΎ Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» Π΅ ΡΠ²ΡΡΠ·Π°Π½ ΡΡΠ΅Π· ΡΡΡΠ΅Π΄Π½ΠΈ Π²ΡΠ·Π»ΠΈ,
Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·Π»ΡΡΠ²Π°Π½Π΅ ΠΎΡ ΠΌΡΠ»ΡΠΈΠΊΠ°ΡΡ ΠΊΡΠΌ ΡΠ½ΠΈΠΊΠ°ΡΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π· sysfs; - Π ethtool
Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π½ΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Fast Link Down, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΠ±ΠΈΡΠΈΠ΅ Π·Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π·Π° 1000BaseT (ΠΏΡΠΈ Π½ΠΎΡΠΌΠ°Π»Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π°Π±Π°Π²ΡΠ½Π΅ΡΠΎ Π΅ Π΄ΠΎ 750ms); - ΠΠΎΡΠ²ΠΈ ΡΠ΅
Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Foo-Over-UDP ΡΡΠ½Π΅Π»ΠΈ ΠΊΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Π°Π΄ΡΠ΅Ρ, ΠΌΡΠ΅ΠΆΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ»ΠΈ ΡΠΎΠΊΠ΅Ρ (ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΡΠ°ΠΌΠΎ ΡΡΠ΅Π· ΠΎΠ±ΡΠ° ΠΌΠ°ΡΠΊΠ°); - Π Π±Π΅Π·ΠΆΠΈΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ
ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ
OWE (Opportunistic Wireless Encryption) Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ; - Π Netfilter Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°ΠΌΠΈΠ»ΠΈΡΡΠ° inet Π°Π΄ΡΠ΅ΡΠΈ ΠΊΡΠΌ nat Π²Π΅ΡΠΈΠ³ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π΅Π΄Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΏΡΠ΅Π²ΠΎΠ΄, Π·Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ΅ ipv4 ΠΈ ipv6, Π±Π΅Π· Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ipv4 ΠΈ ipv6);
- Π Π½Π΅ΡΠ»ΠΈΠ½ΠΊ
Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΡΠ΅ΠΆΠΈΠΌ strict Π·Π° ΡΡΡΠΈΠΊΡΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ, ΠΏΡΠΈ ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ ΡΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ° ΠΏΡΠ΅Π²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ ΠΈ Π΅ Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΊΡΠ°Ρ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ°;
-
- ΠΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ
- Π€Π»Π°Π³ΡΡ CLONE_PIDFD Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ clone(), ΠΊΠΎΠ³Π°ΡΠΎ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½, ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ βpidfdβ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ ΡΡΡ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈΡ Π΄ΡΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ, ΡΠ΅ Π²ΡΡΡΠ° ΠΊΡΠΌ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅Ρ. Π’ΠΎΠ·ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈ Π±Π΅Π· ΡΡΡΠ°Ρ ΠΎΡ ΠΈΠ·ΠΏΠ°Π΄Π°Π½Π΅ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅ (Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠΈΠ³Π½Π°Π»Π° ΡΠ΅Π»Π΅Π²ΠΈΡΡ PID ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅Ρ ΠΈ Π·Π°Π΅Ρ ΠΎΡ Π΄ΡΡΠ³ ΠΏΡΠΎΡΠ΅Ρ);
- ΠΠ° Π²ΡΠΎΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° cgroups Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π½Π° ΡΡΠΈΠ·Π΅ΡΠ°, Ρ ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΡΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π² cgroup ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΠ΅ Π½ΡΠΊΠΎΠΈ ΡΠ΅ΡΡΡΡΠΈ (CPU, I/O ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ Π΄ΠΎΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ), Π·Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ Π΄ΡΡΠ³ΠΈ Π·Π°Π΄Π°ΡΠΈ. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ cgroup.freeze ΠΈ cgroup.events Π² Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° cgroup. ΠΠ°ΠΏΠΈΡ 1 Π² cgroup.freeze Π·Π°ΠΌΡΠ°Π·ΡΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ°ΡΠ° cgroup ΠΈ Π²ΡΠΈΡΠΊΠΈ Π΄ΡΡΠ΅ΡΠ½ΠΈ Π³ΡΡΠΏΠΈ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π·Π°ΠΌΡΠ°Π·ΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡΠ½Π΅ΠΌΠ° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΡΠ°ΠΉΠ» cgroup.events, ΡΡΠ΅Π· ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ Π·Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ°;
-
ΠΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΊΡΠΌ Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» Π² sysfs, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΅ΡΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π±Π°Π½ΠΊΠΈ ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½Π° ΠΏΠ°ΠΌΠ΅Ρ; - ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° PSI (Pressure Stall Information) Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ (CPU, ΠΏΠ°ΠΌΠ΅Ρ, I/O) Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΈ Π² cgroup. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° PSI ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΌΠΎΠ³Π°Ρ ΠΏΠΎ-ΡΠΎΡΠ½ΠΎ Π΄Π° ΠΎΡΠ΅Π½ΡΡ Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Π½Π° Π·Π°Π±Π°Π²ΡΠ½Π΅ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΡ ΡΡΠ΅Π΄Π½ΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π³ΠΎΠ²Π΅ Π½Π° ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ poll() Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΠ΅, ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΠΏΡΠ°Π³ΠΎΠ²Π΅ ΡΠ° Π±ΠΈΠ»ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½ΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅. Π’Π°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Android Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π° Π½Π΅Π΄ΠΎΡΡΠΈΠ³Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° ΡΠ°Π½Π΅Π½ Π΅ΡΠ°ΠΏ, Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ° ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ° Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π΄Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈ ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π΅Π· Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. ΠΡΠΈ ΡΡΡΠ΅Ρ ΡΠ΅ΡΡΠΎΠ²Π΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈΡΠ΅ Π½Π° PSI ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Ρ Π° 10 ΠΏΡΡΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ°Π»ΡΠΈΠ²ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π½Π° vmpressure;
- ΠΠΎΠ΄ΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π΄ΠΎ 20 ΠΏΡΡΠΈ ΠΏΠΎ-Π±ΡΡΠ·Π° Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ ΠΎΡ 4096 Π΄ΠΎ ΠΌΠΈΠ»ΠΈΠΎΠ½ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ;
- ΠΠ° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ
ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅; - ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ
API , ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² sysctl ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΎΡ BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅; - ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° MIPS32 Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ Π·Π° Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° eBPF;
- ΠΠ° 32-Π±ΠΈΡΠΎΠ²Π°ΡΠ° PowerPC Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ KASan (Kernel address sanitizer), ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΌΠ°Π³Π° Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅Ρ;
- Π x86-64 ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π΄ΡΠΌΠΏΠΎΠ²Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠΈΠ² Π½Π° ΡΠ΄ΡΠΎΡΠΎ (crash-dump) Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π°Π΄ 896MB Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΎ;
- ΠΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° s390 Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° ΡΠ΄ΡΠΎΡΠΎ (KASLR) ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΡΡΠ΅Π· kexec_file_load();
- ΠΠ° PA-RISC Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ°, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π΅Π±ΡΠ³Π΅ΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ (KGDB), ΠΌΠ°ΡΠΊΠ΅ΡΠΈ Π·Π° ΠΏΡΠ΅ΡΠΊΠ°ΡΠ°Π½Π΅ ΠΈ kprobes;
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠΊΠ»ΡΡΠ΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ
ΠΠΈΠΌΠ° Π·Π° Mali 400/450 GPU, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΡΡΠ°ΡΠΈ ΡΠΈΠΏΠΎΠ²Π΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ARM Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ°. ΠΠ° ΠΏΠΎ-Π½ΠΎΠ²ΠΈΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° Mali Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ Panfrost, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠΈΠΏΠΎΠ²Π΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) ΠΈ Bifrost (Mali G3x, G5x, G7x); - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΡΠ΄ΠΈΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΡΡΡΠΌΡΠ΅Ρ
ΠΠ²ΡΠΊΠΎΠ² ΠΎΡΠ²ΠΎΡΠ΅Π½ ΡΡΡΠΌΡΠ΅Ρ (OFS ). ΠΡΠΏΡΠ΅ΠΊΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ, ΠΊΠΎΠ΄ΡΡ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ° Π·Π° Π·Π²ΡΠΊΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΎΡΡΠ°Π²Π° Π·Π°ΡΠ²ΠΎΡΠ΅Π½ ΠΈ ΡΠ΅ Π΄ΠΎΡΡΠ°Π²Ρ Π² Π΄Π²ΠΎΠΈΡΠ½Π° ΡΠΎΡΠΌΠ°. ΠΡΠΎΠ΅ΠΊΡΡΡ Sound Open Firmware Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Intel Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ ΡΡΡΠΌΡΠ΅Ρ Π·Π° DSP ΡΠΈΠΏΠΎΠ²Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π°ΡΠ΄ΠΈΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° (Google ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΡΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΠΈ ΠΊΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°). Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΡΡ Π²Π΅ΡΠ΅ Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠ» ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠΌΡΠ΅Ρ Π·Π° Π·Π²ΡΠΊΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake ΠΈ IceLake; - Intel DRM Π΄ΡΠ°ΠΉΠ²Π΅Ρ (i915) Π΄ΠΎΠ±Π°Π²Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΠΏΠΎΠ²Π΅
ΠΠ»ΠΊΡ Π°ΡΡΠ»Π΅ΠΉΠΊ (Gen11). ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ PCI ID Π·Π° ΡΠΈΠΏΠΎΠ²Π΅ Comet Lake (Gen9). Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Icelake ΡΠΈΠΏΠΎΠ²Π΅, Π·Π° ΠΊΠΎΠΈΡΠΎ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° PCI ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠΊΠ»ΡΡΠ΅Π½
ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π° Π±ΡΡΠ΅ΡΠ° Π²ΡΠ² Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ° (async flip) ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π·Π°ΠΏΠΈΡ ΡΡΠ΅Π· mmio, ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π½ΡΠΊΠΎΠΈ 3D ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π² ΡΠ΅ΡΡΠ° 3DMark Ice Storm ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Ρ 300-400%). ΠΠΎΠ±Π°Π²Π΅Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°HDCP2.2 (High-bandwidth Digital Content Protection) Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΡΠΈΠ³Π½Π°Π»ΠΈ, ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈ ΡΡΠ΅Π· HDMI; - ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ amdgpu Π·Π° Vega20 GPU
Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° RAS (Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ, Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ, ΡΠ΅ΡΠ²ΠΈΠ·Π½ΠΎΡΡ) ΠΈ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° SMU 11, ΠΊΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Powerplay. ΠΠ° GPU Vega12Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌ BACO (Bus Active, Chip Off). ΠΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° XGMI, Π²ΠΈΡΠΎΠΊΠΎΡΠΊΠΎΡΠΎΡΡΠ½Π° ΡΠΈΠ½Π° (PCIe 4.0) Π·Π° Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° GPU. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ Π»ΠΈΠΏΡΠ²Π°ΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π·Π° ΠΊΠ°ΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Polaris10 GPU ΠΊΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° amdkfd; - ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ Nouveau Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠ»Π°ΡΠΊΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠΈΠΏΡΠ΅ΡΠ° NVIDIA Turing 117 (TU117, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² GeForce GTX 1650). IN
kconfigΠ΄ΠΎΠ±Π°Π²ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² ΡΠ΅ΠΊΡΡΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° libdrm; - ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° βΠ²ΡΠ΅ΠΌΠ΅Π²Π° Π»ΠΈΠ½ΠΈΡβ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ DRM API ΠΈ amdgpu Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ Π±Π΅Π· ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΎ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅.
- ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ Π½Π° vboxvideo Π·Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΠΏΡΠΎΡΠ΅ΡΠΎΡ VirtualBox Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ ΠΎΡ Π΅ΡΠ°ΠΏΠ½ΠΈΡ ΠΊΠ»ΠΎΠ½ ΠΊΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ°;
- ΠΠΎΠ±Π°Π²Π΅Π½ aspeed Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° GFX SoC ASPEED ΡΠΈΠΏ;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ARM SoC ΠΈ Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, ,Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi ) Π΄ΡΡΠΊΠΈ RK3399, Nanopi NEO4, Veyron-Mighty Chromebook), Amlogic: SEI Robotics SEI510,
ST Micro (stm32mp157a, stm32mp157c), NXP (
Eckelmann ci4x10 (i.MX6DL),i.MX8MM EVK (i.MX8MM),
ZII i.MX7 RPU2 (i.MX7),
ZII SPB4 (VF610),
Zii Ultra (i.MX8M),
TQ TQMa7S (i.MX7Solo),
TQ TQMa7D (i.MX7Dual),
Kobo Aura (i.MX50),
Menlosystems M53 (i.MX53)), NVIDIA Jetson Nano (Tegra T210).
- ΠΠΊΠ»ΡΡΠ΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ
Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π»Π°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠ°ΡΠ° ΡΠΎΠ½Π΄Π°ΡΠΈΡ Π·Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ
Π²Π°ΡΠΈΠ°Π½Ρ
ΠΠ²ΡΠΊ ΠΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ°. ΠΠ°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ΅ΡΠ½Π° Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp ΠΈ ucsi_ccg. ΠΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ΅ΡΠ½Π° Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ixp4xx, imx-sdma, amdgpu, nouveau ΠΈ goya, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π·Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π°, Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½. Π‘ΠΏΡΡ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ΅ΡΠ½Π° Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° r8822be ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π°Π½Π΅ΡΠΎ ΠΌΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru