Π‘Π»Π΅Π΄ ΡΠ°Π»Π°Π½ΡΠ»ΠΈΠ²Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Linux 5.14. Π‘ΡΠ΅Π΄ Π½Π°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ: Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ quotactl_fd() ΠΈ memfd_secret(), ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ide ΠΈ raw, Π½ΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π·Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈ Π½Π° Π²Ρ ΠΎΠ΄Π°/ΠΈΠ·Ρ ΠΎΠ΄Π° Π·Π° cgroup, ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ SCHED_CORE, ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°ΡΠΈ Ρ Π²Π΅ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ° ΠΏΡΠΈΠ΅ΡΠΈ 15883 ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΎΡ 2002 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΏΠ°ΡΠ° Π΅ 69 ΠΠ (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°ΡΡΠ³Π°Ρ 12580 ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° 861501 ΡΠ΅Π΄Π° ΠΊΠΎΠ΄, ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΡΠ° 321654 ΡΠ΅Π΄Π°). ΠΠΊΠΎΠ»ΠΎ 47% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ Π² 5.14 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΎΠΊΠΎΠ»ΠΎ 14% ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡ Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, 13% ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ, 3% β Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ 3% β Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ:
- Π΄ΠΈΡΠΊΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Ρ
ΠΎΠ΄/ΠΈΠ·Ρ
ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ:
- Π·Π° cgroup Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π½ΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π·Π° ΠΏΡΠΈΠΎΡΠΈΡΠΈΠ·Π°ΡΠΈΡ Π½Π° Π²Ρ ΠΎΠ΄Π°/ΠΈΠ·Ρ ΠΎΠ΄Π° β rq-qos, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ Π±Π»ΠΎΡΠ½ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΡ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈΡΠ΅ Π² cgroup. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π·Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π² ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΈΡ Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ mq-deadline;
- Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ext4 ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π½ΠΎΠ²Π° ioctl ΠΊΠΎΠΌΠ°Π½Π΄Π° EXT4_IOC_CHECKPOINT, ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ Π·Π°ΠΏΠΈΡΠ²Π° Π½Π° Π΄ΠΈΡΠΊ Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·ΡΠ°ΠΊΠ²Π°ΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΡ ΠΆΡΡΠ½Π°Π»Π° ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ ΡΡΡ Π±ΡΡΠ΅ΡΠΈ, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°ΡΠ° ΠΎΡ ΠΆΡΡΠ½Π°Π»Π° Π·ΠΎΠ½Π° Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ. ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π°ΡΠ° Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ;
- Π² Btrfs ΡΠ° Π²Π½Π΅ΡΠ΅Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°: ΡΡΠ΅Π· ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π½Π΅Π½ΡΠΆΠ½ΠΎΡΠΎ ΠΆΡΡΠ½Π°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° fsync, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π΄ΠΎ 17%. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΏΠΎΠ΄ΡΡΠ·Π²Π°Π½Π΅, ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π·Π°ΡΡΠ³Π°Ρ Π΅ΠΊΡΡΠ΅Π½ΡΠΈΡΠ΅, Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠ»Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Ρ 12%. Π sysfs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° Π²Ρ ΠΎΠ΄Π°/ΠΈΠ·Ρ ΠΎΠ΄Π° ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π€Π‘. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ioctl ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π·Π° ΠΎΡΠΌΡΠ½Π° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ;
- Π² XFS ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π±ΡΡΠ΅ΡΠ½ΠΈΡ ΠΊΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π» ΠΊΡΠΌ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ. ΠΠΎΠ²ΠΈΡΠ΅Π½Π° Π΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ΅ΡΠ°;
- Π F2FS Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎΡΡΠ»ΡΠ³Π° ΠΈ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ (compress_cache) Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ ΡΠ΅ΡΠ΅Π½Π΅. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΎΡΡΠ°Π·Π΅Π½ΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ mmap(). ΠΠ° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΠΎ ΠΌΠ°ΡΠΊΠ° Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡ Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ nocompress;
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° exFAT Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° Π½ΡΠΊΠΎΠΈ ΡΠΈΡΡΠΎΠ²ΠΈ ΠΊΠ°ΠΌΠ΅ΡΠΈ;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΏΠΎΠ²ΠΈΠΊ quotactl_fd(), ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ²ΠΎΡΠΈΡΠ΅ Π½Π΅ ΡΡΠ΅Π· ΡΠ°ΠΉΠ» Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, Π° ΡΡΠ΅Π· ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ, ΡΠ²ΡΡΠ·Π°Π½ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π·Π° ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΊΠ²ΠΎΡΠ°ΡΠ°;
- ΠΡ ΡΠ΄ΡΠΎΡΠΎ ΡΠ° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΡΡΠ°ΡΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IDE, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ΄Π°Π²Π½Π° ΡΠ° Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ ΠΎΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° libata. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΡΠ°ΡΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΅ Π·Π°ΠΏΠ°Π·Π΅Π½Π° Π½Π°ΠΏΡΠ»Π½ΠΎ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡΠ° ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡ ΡΠ°ΠΌΠΎ Π΄ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΡΠ° Π±ΡΡ Π° ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ /dev/hd*, Π° Π½Π΅ /dev/sd*;
- ΠΡ ΡΠ΄ΡΠΎΡΠΎ Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ Β«rawΒ», ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π½Π΅Π±ΡΡΠ΅ΡΠΈΡΠ°Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ /dev/raw. ΠΠΎΡΠΎΡΠ΅Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΎΡΠ΄Π°Π²Π½Π° ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ»Π°Π³ O_DIRECT;
- ΠΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ:
- Π ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π½ΠΎΠ² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ SCHED_CORE, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ²Π°, ΠΊΠΎΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π·Π°Π΅Π΄Π½ΠΎ Π½Π° Π΅Π΄Π½ΠΎ ΡΠ΄ΡΠΎ CPU. ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΡΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ cookie ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΎΠ±Π»Π°ΡΡ Π½Π° Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ Π½Π° Π΅Π΄ΠΈΠ½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ). ΠΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π°, ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠΈΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° Π΅Π΄Π½ΠΎ ΡΠ΄ΡΠΎ CPU ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΅Π΄ΠΈΠ½ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠΈ Π°ΡΠ°ΠΊΠΈ ΠΎΡ ΠΊΠ»Π°Ρ Spectre, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°ΠΉΠΊΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π² Π΅Π΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ SMT (Hyper Threading) Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ;
- ΠΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° cgroup Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° kill, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π³ΡΡΠΏΠ°ΡΠ° (ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΉΠΊΠΈ SIGKILL), ΡΡΠ΅Π· Π·Π°ΠΏΠΈΡ Β«1Β» Π²ΡΠ² Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡ ΡΠ°ΠΉΠ» cgroup.kill;
- ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ΅Π°Π³ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΡΠ°Π·ΡΠ΅ΠΏΠ΅Π½ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (βsplit lockβ), Π²ΡΠ·Π½ΠΈΠΊΠ²Π°ΡΠΈ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π½Π΅ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π°ΡΠΎΠΌΠ°ΡΠ½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΡΠ΅ΡΠΈΡΠ°Ρ Π΄Π²Π΅ ΠΊΠ΅Ρ Π»ΠΈΠ½ΠΈΠΈ Π½Π° CPU. ΠΠΎΠ΄ΠΎΠ±Π½ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π΄ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ Π΄ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠΏΠ°Π΄ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, Π·Π°ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π΄ΠΎΠ²Π΅Π»ΠΎ Π΄ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΡΠ°. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π½Π° ΡΠ΄ΡΠΎΡΠΎ βsplit_lock_detect=ratelimit:Nβ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠΎΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π»ΠΈΠΌΠΈΡ Π½Π° ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΡΡΠ½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, ΡΠ»Π΅Π΄ ΠΏΡΠ΅Π²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΉΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΡΠ΅Ρ, ΡΡΠ°Π½Π°Π» ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° ΡΠ°Π·ΡΠ΅ΠΏΠ΅Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°, Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π²ΡΡΡΠ΅Π½, ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ ΡΠΏΠΈΡΠ°Π½ Π·Π° 20 ΠΌΡ;
- Π² cgroup-ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π·Π° ΠΏΡΠΎΠΏΡΡΠΊΠ½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ CFS (CFS bandwidth controller), ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π½Π° Π²ΡΡΠΊΠ° cgroup, Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π»ΠΈΠΌΠΈΡΠΈ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΎΡ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡΡΠ°, ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΡΠΌ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ cpu.cfs_quota_us Π½Π° 50000 ΠΈ cpu.cfs_period_us Π½Π° 100000 ΡΠ΅ Π΄Π°Π΄Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π½Π° Π³ΡΡΠΏΠ° ΠΏΡΠΎΡΠ΅ΡΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ 50ΠΌΡ CPU Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ 100ΠΌΡ;
- Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½Π°ΡΠ°Π»Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°Π³ΡΡΠ·ΡΠΈΡΠΈ Π½Π° BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΡΠΎ Π² Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΡΠ°ΠΌΠΎ Π½Π° BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈ ΠΎΡ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΡΠΈΡΡΠΎΠ² ΠΊΠ»ΡΡ;
- Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° futex-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ FUTEX_LOCK_PI2, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ° ΠΌΠΎΠ½ΠΎΡΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠΌΠ΅Ρ Π·Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡΠ°, ΠΊΠΎΠΉΡΠΎ ΠΎΡΡΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΏΡΠ΅ΠΊΠ°ΡΠ°Π½ΠΎ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΠ½;
- Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ (Transparent Huge-Pages) ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° KFENCE Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅Ρ;
- Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΠΏΠΎΠ²ΠΈΠΊ madvise(), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ°, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅ΡΠ΅ MADV_POPULATE_READ ΠΈ MADV_POPULATE_WRITE Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° βpage faultβ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ, ΠΎΡΡΠ°Π·ΡΠ²Π°ΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡ, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π½Π΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡ (prefault). ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π° βpage faultβ Π·Π°Π΅Π΄Π½ΠΎ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ·ΡΠ°ΠΊΠ²Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΡΠΎ ΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ²Π°Π½Π΅;
- Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° unit ΡΠ΅ΡΡΠ²Π°Π½Π΅ kunit Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ Π² ΠΎΠΊΠΎΠ»Π½Π°ΡΠ° ΡΡΠ΅Π΄Π° QEMU;
- Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΡΡΠ°ΡΠ΅ΡΠΈ: "osnoise" Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°Π±Π°Π²ΡΠ½ΠΈΡΡΠ° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ, ΠΈ "timerlat" Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π·Π°Π±Π°Π²ΡΠ½ΠΈΡΡΠ° ΠΏΡΠΈ ΡΡΠ±ΡΠΆΠ΄Π°Π½Π΅ ΠΏΠΎ ΡΠΈΠ³Π½Π°Π» ΠΎΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°;
- Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ:
- Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° ΠΏΠΎΠ²ΠΈΠΊΠ²Π° memfd_secret(), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΡΡΠ½Π° ΠΎΠ±Π»Π°ΡΡ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π²ΠΈΠ΄ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠ°-ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ, Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ° Π² Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π·Π° ΡΠ΄ΡΠΎΡΠΎ;
- Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ seccomp ΠΏΡΠΈ ΠΈΠ·Π½Π°ΡΡΠ½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΅Π΄Π½Π° Π°ΡΠΎΠΌΠ°ΡΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ Π²ΡΡΡΠ°Π½Π΅ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΏΠΎΠ²ΠΈΠΊ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³Π½Π°Π»;
- Π΄ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΊΠΎΠΉΡΠΎ ΡΠ²ΡΡΠ·Π²Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π±ΡΠΎΡΡΠΈ rlimit Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π² βuser namespaceβ. ΠΡΠΎΠΌΡΠ½Π°ΡΠ° ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠΈΡΠ΅ Π±ΡΠΎΡΡΠΈ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ;
- Π² Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° KVM Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ARM64 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² Π³ΠΎΡΡΡΠ²Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ MTE (MemTag, Memory Tagging Extension), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π³ΠΎΠ²Π΅ ΠΊΡΠΌ Π²ΡΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ Π·Π°Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Π·Π° Π΄Π° ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠ° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΡΠΌ Π²Π΅ΡΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΏΠ°ΠΌΠ΅Ρ, ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½ΠΈΡ Π½Π° Π±ΡΡΠ΅ΡΠΈ, ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΈΠ·Π²ΡΠ½ ΡΠ΅ΠΊΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ;
- ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈΡΠ΅ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ARM64 ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ (Pointer Authentication) ΡΠ΅Π³Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈ Π·Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ARM64 Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ΅ Π½Π° Π²ΡΡΡΠ°Π½Π΅ ΡΡΠ΅Π· ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ Π³ΠΎΡΠ½ΠΈ Π±ΠΈΡΠΎΠ²Π΅ Π½Π° ΡΠ°ΠΌΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»;
- Π² User-mode Linux Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° PCI ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ Π²ΠΈΡΡΡΠ°Π»Π½Π° ΡΠΈΠ½Π° PCI, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° PCI-over-virtio;
- ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ x86 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ virtio-iommu, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° IOMMU Π·Π°ΡΠ²ΠΊΠΈ, ΠΊΠ°ΡΠΎ ATTACH, DETACH, MAP ΠΈ UNMAP, ΠΏΡΠ΅Π· ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° virtio Π±Π΅Π· Π΅ΠΌΡΠ»ΡΡΠΈΡ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ Ρ ΠΏΠ°ΠΌΠ΅Ρ;
- ΠΠ° Intel CPU, ΠΎΡ Skylake Π΄ΠΎ Coffee Lake, ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΡΠ° Intel TSX (Transactional Synchronization Extensions), ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π· Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈΡΡΠ° ΡΠ° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½Π°ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π°ΡΠ°ΠΊΠΈ Zombieload, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°ΡΠΈ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠ΅Π· ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (TAA, TSX Asynchronous Abort);
- ΠΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°:
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° Π² ΡΠ΄ΡΠΎΡΠΎ MPTCP (MultiPath TCP), ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° TCP ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° TCP Π²ΡΡΠ·ΠΊΠ° Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ°ΡΡΡΡΡΠ° ΠΏΡΠ΅Π· ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π·Π° IPv4 ΠΈ IPv6 (multipath hash policy), Π΄Π°Π²Π°ΡΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ, ΠΊΠΎΠΈ ΠΎΡ ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° Π² ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠ°Π½ΠΈ, ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΡΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Ρ Π΅ΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΈΠ·Π±ΠΎΡΠ° Π½Π° ΠΏΡΡ Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠ°;
- ΠΠΈΡΡΡΠ°Π»Π½ΠΈΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡ virtio Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΎΠΊΠ΅ΡΠΈ SOCK_SEQPACKET (ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° Π΄Π°ΡΠ°Π³ΡΠ°ΠΌΠΈ);
- Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΡΠΎΠΊΠ΅ΡΠΈ SO_REUSEPORT, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ»ΡΡΠ°ΡΠΈ ΡΠΎΠΊΠ΅ΡΠ° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ°Ρ ΠΊΡΠΌ Π΅Π΄ΠΈΠ½ ΠΏΠΎΡΡ Π·Π° ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΠΎΠΊΠ΅ΡΠΈ ΡΡΠ΅Π· SO_REUSEPORT, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΡΡΠ³ ΡΠΎΠΊΠ΅Ρ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΠΈΠ² ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ° ΠΎΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΈΠ·Π±ΡΠ°Π½ΠΈΡ ΡΠΎΠΊΠ΅Ρ (ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π·Π°Π³ΡΠ±Π°ΡΠ° Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ);
- ΠΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅:
- Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° amdgpu ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ GPU AMD Radeon RX 6000, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈ ΠΏΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΠ²ΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π° Β«Beige GobyΒ» (Navi 24) ΠΈ Β«Yellow CarpΒ», ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° GPU Aldebaran (gfx90a) ΠΈ APU Van Gogh. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ eDP ΠΏΠ°Π½Π΅Π»Π°. ΠΠ° APU Renoir Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ Π±ΡΡΠ΅ΡΠΈ Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΠ΅ΡΡΠ° (TMZ, Trusted Memory Zone). ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³ΠΎΡΠ΅ΡΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΊΠ°ΡΡΠΈ (hot-unplug). ΠΠ° GPU Radeon RX 6000 (Navi 2x) ΠΈ ΠΏΠΎ-ΡΡΠ°ΡΠΈΡΠ΅ GPU AMD Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡΡΠ° ASPM (Active State Power Management), ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΈ Π±Π΅ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΡΠ°ΠΌΠΎ Π·Π° GPU Navi 1x, Vega ΠΈ Polaris;
- Π·Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ AMD Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΏΠ°ΠΌΠ΅Ρ (SVM, shared virtual memory) Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° HMM (Heterogeneous memory management), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° (MMU, memory management unit), ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ. ΠΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° HMM ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΎΠ±ΡΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ GPU ΠΈ CPU, Π² ΠΊΠΎΠ΅ΡΠΎ GPU ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ°;
- Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° AMD Smart Shift, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° Π΅Π½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° CPU ΠΈ GPU Π½Π° Π»Π°ΠΏΡΠΎΠΏΠΈ Ρ ΡΠΈΠΏΡΠ΅Ρ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ° AMD Π·Π° ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΠΈΠ³ΡΠΈ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΈ 3D ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°Π½Π΅;
- Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° i915 Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΈ Intel Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Intel Alderlake P;
- Π΄ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ drm/hyperv Π·Π° Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Π³ΡΠ°ΡΠΈΡΠ΅Π½ Π°Π΄Π°ΠΏΡΠ΅Ρ Hyper-V;
- Π΄ΠΎΠ±Π°Π²Π΅Π½ Π³ΡΠ°ΡΠΈΡΠ΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ simpledrm, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ ΡΡΠ΅ΠΉΠΌΠ±ΡΡΠ΅Ρ EFI-GOP ΠΈΠ»ΠΈ VESA, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΎΡ UEFI ΡΡΡΠΌΡΠ΅ΡΠ° ΠΈΠ»ΠΈ BIOS. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π» Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ Π² Π½Π°ΡΠ°Π»Π½ΠΈΡΠ΅ Π΅ΡΠ°ΠΏΠΈ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΡΡΠ°Π½Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ»Π΅Π½ DRM Π΄ΡΠ°ΠΉΠ²Π΅Ρ. ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ ΠΌΠΎΠΆΠ΅ ΡΡΡΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π·Π° ΠΊΠΎΠΈΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π»ΠΈΠΏΡΠ²Π°Ρ ΡΠΎΠ΄Π½ΠΈ DRM Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ;
- Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ°-ΠΌΠΎΠ½ΠΎΠ±Π»ΠΎΠΊ Raspberry Pi 400;
- Π΄ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ dell-wmi-privacy Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½ΠΈΡΠ΅ Π² Π»Π°ΠΏΡΠΎΠΏΠΈ Dell Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅Π»ΠΈ Π·Π° ΠΊΠ°ΠΌΠ΅ΡΠ° ΠΈ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½;
- Π·Π° Π»Π°ΠΏΡΠΎΠΏΠΈ Lenovo Π΄ΠΎΠ±Π°Π²Π΅Π½ WMI ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° BIOS ΡΡΠ΅Π· sysfs /sys/class/firmware-attributes/;
- ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ USB4;
- Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·Π²ΡΠΊΠΎΠ²ΠΈ ΠΊΠ°ΡΡΠΈ ΠΈ ΠΊΠΎΠ΄Π΅ΡΠΈ AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 ΠΈ Texas Instruments TAS2505. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·Π²ΡΠΊΠ° Π½Π° Π»Π°ΠΏΡΠΎΠΏΠΈ HP ΠΈ ASUS. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΠ°ΡΠΎΠ²Π΅ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° ΠΏΡΠ΅Π΄ΠΈ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π·Π²ΡΠΊ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ USB ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ β opennet.ru.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru
