ΠΠΎΡΠ»Π΅ Π΄Π²ΡΡ
ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»ΡΠ΄Ρ
Π Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ 16074 ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡ 2011 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²,
ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΡΡΠ° — 62 ΠΠ (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ 14548 ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 782155 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΠ΄Π°Π»Π΅Π½ΠΎ 314792 ΡΡΡΠΎΠΊΠΈ). ΠΠΊΠΎΠ»ΠΎ 45% Π²ΡΠ΅Ρ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ
Π² 5.9
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 15% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡΡ
ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡ, 13%
ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ, 3% — Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ 3% c Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ
ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΄ΡΠ°.
- ΠΠ°ΠΌΡΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ
-
Π£ΠΆΠ΅ΡΡΠΎΡΠ΅Π½Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ GPL-ΠΏΡΠΎΡΠ»ΠΎΠ΅ΠΊ Π΄Π»Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΡΠ΄ΡΠ°, ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPL. Π€Π»Π°Π³ TAINT_PROPRIETARY_MODULE ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΡ , ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Ρ Π΄Π°Π½Π½ΡΠΌ ΡΠ»Π°Π³ΠΎΠΌ. ΠΡΠ»ΠΈ GPL-ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· Π½Π΅-GPL ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΠΎ ΡΡΠΎΡ GPL-ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΌΠ΅ΡΠΊΡ TAINT_PROPRIETARY_MODULE ΠΈ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ ΡΠ΄ΡΠ°, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPL, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°Π½Π΅Π΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π» ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ «gplonly». ΠΠ±ΡΠ°ΡΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° (ΡΠΊΡΠΏΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ EXPORT_SYMBOL_GPL Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ , ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π²ΡΠΈΡ EXPORT_SYMBOL_GPL), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠ³Π»Π° Π½Π°ΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° (Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π°Π³ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, Π½ΠΎ Π½Π΅ GPL-ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ). -
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° kcompactd Π΄Π»ΡΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅ΠΉ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠΈΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΄ΡΡ. ΠΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΠ΅Π½ΠΊΠ΅, ΡΠΎΠ½ΠΎΠ²Π°Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΠ΅Π½ΠΎΠΉ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² 70-80 ΡΠ°Π· ΡΠ½ΠΈΠ·ΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΡΡΠΏΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ (huge-page) ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΌ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ (on-demand). ΠΠ»Ρ Π·Π°Π΄Π°Π½ΠΈΡ Π³ΡΠ°Π½ΠΈΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ kcompactd, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ sysctl vm.compaction_proactiveness. -
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΆΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°Π·Π° ΡΠ΄ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Zstandard (zstd). - ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ x86 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
FSGSBASE , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΡΠΈΡΠ°ΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² FS/GS ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π ΡΠ΄ΡΠ΅ FSGSBASE ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π·Π° ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π»ΠΈΡΠ½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ MSR Π΄Π»Ρ GSBASE, Π° Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ FS/GS. -
ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ «allow_writes», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ MSR-ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ Π΄Π°Π½Π½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ ΡΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ MSR ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π°, Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ MSR ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π»ΠΎΠ³Π΅, Π½ΠΎ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π΄ΠΎΡΡΡΠΏ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ. - Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°
io_uring Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π±ΡΡΠ΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ, Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠΈΡ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠ΄ΡΠ°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π°ΠΏΠΈΡΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅. - Π ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ΅ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° deadline
ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΡΡΡΠΎΠΌ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ,ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π°ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΡ ARM Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡDynamIQ ΠΈ big.LITTLE, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡΡΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΈΠΏΠ΅ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ½Π΅ΡΠ³ΠΎΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΄ΡΠ° CPU. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΡΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ ΡΠ΄ΡΠΎ CPU Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΠ»ΠΆΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π² Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ ΡΡΠΎΠΊ. - ΠΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠ½Π΅ΡΠ³ΠΈΠΈ Π² ΡΠ΄ΡΠ΅ (ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Energy Model) ΡΠ΅ΠΏΠ΅ΡΡ
ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ CPU, Π½ΠΎ ΠΈ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² close_range(), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ°Π·ΠΎΠΌ Π·Π°ΠΊΡΡΡΡ ΡΠ΅Π»ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ².
- ΠΠ· ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° fbcon
ΡΠ΄Π°Π»ΡΠ½ ΠΊΠΎΠ΄ , ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ° Π½Π°Π·Π°Π΄ (CONFIG_VGACON_SOFT_SCROLLBACK) Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° VGA. -
ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π²Π½ΡΡΡΠΈ ΡΠ΄ΡΠ°. ΠΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π»ΡΡΡΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠ΄ΡΠ° ΠΏΡΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² Π΄Π»Ρ Π·Π°Π΄Π°Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. - ΠΠΎΠ±Π°Π²Π»Π΅Π½ sysctl
sched_uclamp_util_min_rt_default Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ CPU Π΄Π»Ρ Π·Π°Π΄Π°Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π»Π΅ΡΡ ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΡΠ½Π΅ΡΠ³ΠΈΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° ΠΈΠ»ΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ). - ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Transparent Huge Pages Π² ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠΌ ΠΊΡΡΠ΅.
- Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ΅ fanotify ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠ»Π°Π³ΠΈ FAN_REPORT_NAME ΠΈ FAN_REPORT_DIR_FID Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ΅ FID ΠΏΡΠΈ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
- ΠΠ»Ρ cgroups
ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ slab (slab memory controller), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»Π΅Π½ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠΌ ΡΡΡΡΠ° slab Ρ ΡΡΠΎΠ²Π½Ρ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ΄ΡΠ°, ΡΡΠΎ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ slab-ΡΡΡΠ°Π½ΠΈΡΡ Π² ΡΠ°Π·Π½ΡΡ cgroup, Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΡΡΠ΅ΠΉ slab Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ cgroup. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ slab, Π½Π° 30-45% ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ slab ΠΏΠ°ΠΌΡΡΠΈ, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΄ΡΠΎΠΌ ΠΈ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. - Π Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅
ALSA ΠΈUSB-ΡΡΠ΅ΠΊΠ΅ , Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠ½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΡΠΈΠ½ΡΡΡΠΌΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΠΊΠ»ΡΠ·ΠΈΠ²Π½ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² ΡΠ΄ΡΠ΅ Linux, ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠΈΡΡΠΊΠ° Π½Π΅ΠΏΠΎΠ»ΠΈΡΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ². ΠΠΎΠ΄ ΠΎΡΠΈΡΠ΅Π½ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠ² «slave», «master», «blacklist» ΠΈ «whitelist».
-
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠ΄ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Clang
ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ (CONFIG_INIT_STACK_ALL_ZERO) Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½ΡΠ»Π΅Π²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π² ΡΡΠ΅ΠΊΠ΅ (ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ «-ftrivial-auto-var-init=zero») . - Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ seccomp, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ,
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ². Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ sandbox Π΄Π»Ρ Chrome. - ΠΠ»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ xtensa ΠΈ csky Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ seccomp. ΠΠ»Ρ xtensa Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π°ΡΠ΄ΠΈΡΠ°.
-
ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ capability-ΡΠ»Π°Π³ CAP_CHECKPOINT_RESTORE, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ Π·Π°ΠΌΠΎΡΠΎΠ·ΠΊΠΎΠΉ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². - Π GCC 11 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ
ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° KCSAN (Kernel Concurrency Sanitizer), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Π³ΠΎΠ½ΠΊΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΄ΡΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, KCSAN ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ ΡΠ΄ΡΠ°ΠΌΠΈ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π² GCC. - ΠΠ»Ρ AMD Zen ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ CPU
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ P2PDMA, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ DMA Π΄Π»Ρ ΠΏΡΡΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΠΌΡΡΡΡ Π΄Π²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΊ ΡΠΈΠ½Π΅ PCI. - Π dm-crypt Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π·Π° ΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ
ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ. Π£ΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ
Π·ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π±Π»ΠΎΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ (ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΎΠ±Π»Π°ΡΡΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π²ΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ Π±Π»ΠΎΠΊΠΎΠ²). ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ Π² dm-crypt. - Π£Π΄Π°Π»ΡΠ½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° Xen. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΡΠ΄Π΅Ρ Π² Π³ΠΎΡΡΠ΅Π²ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (PV) ΡΠ΅ΠΆΠΈΠΌΡ ΠΏΠΎΠ»Π½ΠΎΠΉ (HVM) ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ (PVH) Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
- ΠΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠ΄ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Clang
- ΠΠΈΡΠΊΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
- Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Btrfs
ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠΏΡΠΈΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ «rescue», ΡΠ½ΠΈΡΠΈΡΠΈΡΡΡΡΠ°Ρ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠΏΡΠΈΡΠΌ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. Π£Π΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΏΡΠΈΠΉ «alloc_start» ΠΈ «subvolrootid», ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ ΠΎΠΏΡΠΈΡ «inode_cache». ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ fsync().ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌ, ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΎΡ CRC32c. -
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ inline-ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ (Inline Encryption) Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ext4 ΠΈ F2FS, Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΎΠΏΡΠΈΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ «inlinecrypt». Π Π΅ΠΆΠΈΠΌ inline-ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°. - Π XFS
ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ ΡΠ±ΡΠΎΡ inode (flush) Π² ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΡΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ. Π Π΅ΡΠ΅Π½Π° Π΄Π°Π²Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΊΠ²ΠΎΡΠ°ΠΌΠΈ, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π»ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ ΠΌΡΠ³ΠΊΠΎΠ³ΠΎ Π»ΠΈΠΌΠΈΡΠ° ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΈΡΠ»ΠΎ inode. Π£Π½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ DAX Π΄Π»Ρ ext4 ΠΈ xfs. - Π Ext4
ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π±ΠΈΡΠΎΠ²ΡΡ ΠΊΠ°ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ². Π ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π³ΡΡΠΏΠΏ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ². - Π F2FS
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ioctl F2FS_IOC_SEC_TRIM_FILE, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ TRIM/discard Π΄Π»Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±Π½ΡΠ»Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ° Π±Π΅Π· ΠΎΡΠ΅Π΄Π°Π½ΠΈΡ Π½Π° Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ .
Π F2FS ΡΠ°ΠΊΠΆΠ΅Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° GC_URGENT_LOW, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎ Π·Π° ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΡΠΎΡΡΠΎΡ (idle) ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ°. - Π bcache ΡΠ°Π·ΠΌΠ΅Ρ bucket_size Π΄Π»Ρ ΡΠΊΡΡΠ΅Π½ΡΠΎΠ² ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ Ρ 16 Π΄ΠΎ 32 Π±ΠΈΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΡΡΠ° Π·ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ SCSI Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ inline-ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΡΡΠ΅Π΄ΡΡΠ² Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
UFS-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ (
Universal Flash Storage ). - ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ΄ΡΠ° «debugfs», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΠΎΠΉ ΠΏΡΠ΅Π²Π΄ΠΎ-Π€Π‘.
- Π ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ NFSv4.2 ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² (xattr).
- Π dm-dust
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°Π·ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΅Ρ Π²ΡΡΠ²Π»Π΅Π½Π½ΡΡ bad-Π±Π»ΠΎΠΊΠΎΠ² Π½Π° Π΄ΠΈΡΠΊΠ΅ («dmsetup message dust1 0 listbadblocks»). - ΠΠ»Ρ md/raid5 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ /sys/block/md1/md/stripe_size Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° STRIPE-Π±Π»ΠΎΠΊΠ°.
- ΠΠ»Ρ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ NVMe
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ Π·ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ (ZNS, NVM Express Zoned Namespace), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠ°Π·Π±ΠΈΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π° Π·ΠΎΠ½Ρ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π³ΡΡΠΏΠΏΡ Π±Π»ΠΎΠΊΠΎΠ², Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ Π½Π° Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Btrfs
- Π‘Π΅ΡΠ΅Π²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- Π Netfilter
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° ΡΡΠ°Π΄ΠΈΠΈ Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ (Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ REJECT ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ°Ρ INPUT, FORWARD ΠΈ OUTPUT, Π½ΠΎ ΠΈ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ PREROUTING Π΄Π»Ρ icmp ΠΈ tcp). - Π nftables
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°ΡΠ΄ΠΈΡΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. - Π nftables Π² API netlink
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΡΠΌ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄ΡΠΎΠΌ. ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΎΠΉ ΠΏΡΠ°Π²ΠΈΠ»Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈ ΡΠ°ΠΌΠ° ΡΠ΅ΠΏΠΎΡΠΊΠ°. - Π BPF Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π°, ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (map) Π±Π΅Π· ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠ΅ΡΠ°ΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠΊΠ΅ΡΠΎΠ² TCP ΠΈ UDP, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΠΏΠΈΡΠΊΠΈ ΠΎΡΠΊΡΡΡΡΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΈΠ· Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ BPF_PROG_TYPE_SK_LOOKUP, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ΄ΡΠΎ ΠΈΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ»ΡΡΠ°ΡΡΠΈΠΉ ΡΠΎΠΊΠ΅Ρ Π΄Π»Ρ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, c ΠΊΠ°ΠΊΠΈΠΌ ΡΠΎΠΊΠ΅ΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΌΠΊΠ°ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° bind(). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ΅ΡΠ° Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² bpf_setsockopt() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ»Π°Π³Π° SO_KEEPALIVE ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² BPF_CGROUP_INET_SOCK_RELEASE, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΠΎΠΊΠ΅ΡΠ°.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°
PRP (Parallel Redundancy Protocol), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ Π½Π° Π±Π°Π·Π΅ Ethernet ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ΅ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΏΠ°ΡΠ½ΠΎΠΉ ΠΊΠ°Π½Π°Π» Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΡ Π»ΡΠ±ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ΅ΡΠΈ. - Π ΡΡΠ΅ΠΊ mac80211
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΡΡΡΡΡ ΡΡΠ°ΠΏΠ½ΠΎΠ³ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π° WPA/WPA2-PSK Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ°. - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° qdisc (queuing discipline) Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΡΠΌΠΈ FQ-PIE (Flow Queue PIE), Π½Π°ΡΠ΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π»ΠΈΡΠ½ΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° Π³ΡΠ°Π½ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ (bufferbloat) Π² ΡΠ΅ΡΡΡ Ρ ΠΊΠ°Π±Π΅Π»ΡΠ½ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅ΠΌΠ°ΠΌΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² MPTCP (MultiPath TCP), ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° TCP Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΌΠ°ΡΡΡΡΡΠ°ΠΌ ΡΠ΅ΡΠ΅Π· ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊ ΡΠ°Π·Π½ΡΠΌ IP-Π°Π΄ΡΠ΅ΡΠ°ΠΌ. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° syn cookie, DATA_FIN, Π°Π²ΡΠΎΠ½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±ΡΡΠ΅ΡΠΎΠ², Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π°Π³ΠΎΠ² REUSEADDR, REUSEPORT ΠΈ V6ONLY Π² setsockopt.
- ΠΠ»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ VRF (Virtual Routing and Forwarding), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ΅ΠΆΠΈΠΌ «strict». Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ .
- Π Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ath11k
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΎΡΡ 6GHz ΠΈΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ .
- Π Netfilter
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- Π£Π΄Π°Π»ΡΠ½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ UniCore, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π² ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΌ ΡΠ΅Π½ΡΡΠ΅ ΠΠ΅ΠΊΠΈΠ½ΡΠΊΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° ΠΈ Π²ΠΊΠ»ΡΡΡΠ½Π½ΠΎΠΉ Π² ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° Linux Π² 2011 Π³ΠΎΠ΄Ρ. ΠΠ°Π½Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Ρ 2014 Π³ΠΎΠ΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π±Π΅Π· ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π² GCC.
- ΠΠ»Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ RISC-V ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
kcov (debugfs-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° ΡΠ΄ΡΠ°), kmemleak (ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ), Π·Π°ΡΠΈΡΡ ΡΡΠ΅ΠΊΠ°, ΠΌΠ΅ΡΠΎΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΈ tickless-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ ΠΎΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΡ). - ΠΠ»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ PowerPC ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ Π΄Π»Ρ spinlock, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ²ΡΠ°Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π½ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π² ΡΠΈΡΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ.
- ΠΠ»Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡ ARM ΠΈ ARM64 Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°
schedutil (cpufreq governor), ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°ΡΡΠΎΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π·Π°Π΄Π°Ρ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π·Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌ cpufreq Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ, ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΡ CPU ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅. - Π DRM-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ i915 Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ Intel Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠΏΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
Rocket Lake ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ ΠΊΠ°ΡΡIntel Xe DG1 . - Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ amdgpu Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GPU AMD
Navi 21 (Navy Flounder) ΠΈNavi 22 (Sienna Cichlid). ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π²ΠΈΠΆΠΊΠΎΠ² ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ UVD/VCE Π΄Π»Ρ GPU Southern Islands (Radeon HD 7000).
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄Π»Ρ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° 90, 180 ΠΈΠ»ΠΈ 270 Π³ΡΠ°Π΄ΡΡΠΎΠ².ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ GPU AMD
ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΊΡΡΠΏΠ½ΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ Π² ΡΠ΄ΡΠ΅ — ΠΎΠ½ Π½Π°ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 2.71 ΠΌΠ»Π½ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 10% ΠΎΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΄ΡΠ° (27.81 ΠΌΠ»Π½ ΡΡΡΠΎΠΊ). ΠΡΠΈ ΡΡΠΎΠΌ 1.79 ΠΌΠ»Π½ ΡΡΡΠΎΠΊ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² GPU, Π° Π‘ΠΈ-ΠΊΠΎΠ΄ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 366 ΡΡΡΡΡ ΡΡΡΠΎΠΊ (Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Intel i915 Π²ΠΊΠ»ΡΡΠ°Π΅Ρ 209 ΡΡΡΡΡ ΡΡΡΠΎΠΊ, Π° Nouveau — 149 ΡΡΡΡΡ). - Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ Nouveau
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΠΊΠ°Π΄ΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈCRC (Cyclic Redundancy Checks) Π² Π΄ΠΈΡΠΏΠ»Π΅ΠΉΠ½ΡΡ Π΄Π²ΠΈΠΆΠΊΠ°Ρ GPU NVIDIA. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ NVIDIA. - ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π΄Π»Ρ LCD-ΠΏΠ°Π½Π΅Π»Π΅ΠΉ: Frida FRD350H54004, KOE TX26D202VM0BWA, CDTech S070PWS19HP-FC21, CDTech S070SWV29HG-DC44, Tianma TM070JVHG33 ΠΈ Xingbangda XBD599.
- Π Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ ALSA ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
Intel Silent Stream (ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π²Π½Π΅ΡΠ½ΠΈΡ HDMI-ΡΡΡΡΠΎΠΉΡΡΠ² Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ Π½Π°ΡΠ°Π»Π΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ) ΠΈΠ½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½Π° ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π²ΡΠΊΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡLoongson 7A1000 . - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ARM-ΠΏΠ»Π°Ρ, ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ: Pine64 PinePhone v1.2, Lenovo IdeaPad Duet 10.1, ASUS Google Nexus 7, Acer Iconia Tab A500, Qualcomm Snapdragon SDM630 (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Sony Xperia 10, 10 Plus, XA2, XA2 Plus ΠΈ XA2 Ultra), Jetson Xavier NX, Amlogic WeTek Core2, Aspeed EthanolX, ΠΏΡΡΡ Π½ΠΎΠ²ΡΡ ΠΏΠ»Π°Ρ Π½Π° Π±Π°Π·Π΅ NXP i.MX6, MikroTik RouterBoard 3011, Xiaomi Libra, Microsoft Lumia 950, Sony Xperia Z5, MStar, Microchip Sparx5, Intel Keem Bay, Amazon Alpine v3, Renesas RZ/G2H.
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π»Π°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ Π€ΠΎΠ½Π΄ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΠ
Π²Π°ΡΠΈΠ°Π½Ρ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru