ΠΠΎ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠΈ ΡΠ°Π·Π²ΠΎΡ, ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ Π²ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ Linux 5.14. ΠΠ΅ΡΡ Π½Π°ΡΠ·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ: Π½ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ quotactl_fd() ΠΈ memfd_secret(), ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ Π½Π° ide ΠΈ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ, Π½ΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π½Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈ Π·Π° Π²Π»Π΅Π·/ΠΈΠ·Π»Π΅Π· Π·Π° cgroup, ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ Π½Π° Π·Π°Π΄Π°ΡΠΈ SCHED_CORE, ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈ BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ Π½Π°ΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠΈ.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° 15883 ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ ΠΎΠ΄ 2002 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ, Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° Π·Π°ΠΊΡΠΏΠ°ΡΠ° Π΅ 69 MB (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π»ΠΈΡΠ°Π΅ΡΠ° Π½Π° 12580 Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ 861501 Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ΄, ΠΈΠ·Π±ΡΠΈΡΠ°Π½ΠΈ ΡΠ΅ 321654 Π»ΠΈΠ½ΠΈΠΈ). ΠΠΊΠΎΠ»Ρ 47% ΠΎΠ΄ ΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎΠ²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ 5.14 ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΠ΅Π΄ΠΈ, ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 14% ΠΎΠ΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ΄ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, 13% ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΡΡΠ΅ΠΊ, 3% ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ 3% ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ.
ΠΠ»Π°Π²Π½ΠΈΡΠ΅ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ:
- ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π½Π° Π΄ΠΈΡΠΊ, Π²Π»Π΅Π·Π½ΠΎ/ΠΈΠ·Π»Π΅Π·Π΅Π½ ΠΈ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ:
- Π·Π° cgroup ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ Π½ΠΎΠ² I/O ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ - rq-qos, ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π±Π°ΡΠ°ΡΠ°ΡΠ° Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ ΡΡΠ΅Π΄ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΡΠ»Π΅Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΊΠΎΡΠ° cgroup. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π²ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ Π·Π° Π²Π»Π΅Π·/ΠΈΠ·Π»Π΅Π· Π½Π° ΡΠΎΠΊΠΎΡ mq;
- Π½Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ ext4 ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ioctl EXT4_IOC_CHECKPOINT, ΠΊΠΎΡΠ° Π³ΠΈ ΠΏΡΠΈΠ½ΡΠ΄ΡΠ²Π° ΡΠΈΡΠ΅ Π½Π΅ΡΠ΅ΡΠ΅Π½ΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΎΠ΄ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ ΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈΡΠ΅ Π±Π°ΡΠ΅ΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠΎΡ, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ° ΠΏΡΠ΅ΠΏΠΈΡΡΠ²Π° ΠΎΠ±Π»Π°ΡΡΠ° ΡΡΠΎ ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ. ΠΡΠΎΠΌΠ΅Π½Π°ΡΠ° Π±Π΅ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½Π° ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ΠΈΠ½ΠΈΡΠΈΡΠ°ΡΠΈΠ²Π°ΡΠ° Π·Π° ΡΠΏΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΠΊΡΠ²Π°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ΄ Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ;
- Π²ΠΎ Btrfs Π²ΠΎΠ²Π΅Π΄Π΅Π½ ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° ΠΈΠ·Π²Π΅Π΄Π±Π°: ΡΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΠΎ Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° fsync, ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎ ΠΏΡΠΎΡΠΈΡΠ΅Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ° Π΄ΠΎ 17%. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠΊΡΠ°ΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠΈ Π½Π΅ Π²Π»ΠΈΡΠ°Π°Ρ Π½Π° ΠΎΠ±Π΅ΠΌΠΎΡ, ΡΠ΅Π»ΠΎΡΠ½Π°ΡΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ° Π΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π°, ΡΡΠΎ Π³ΠΎ Π½Π°ΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π·Π° 12%. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° sysfs Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠ½ΠΈΠΎΡ ΠΎΠΏΡΠ΅Π³ Π½Π° Π/Π ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° FS. ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ioctl ΠΏΠΎΠ²ΠΈΡΠΈ Π·Π° ΠΎΡΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° ΠΈ Π±ΡΠΈΡΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° ΡΡΠ΅Π΄ΠΎΡ;
- Π²ΠΎ XFS ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΠ°ΠΌΠΏΠΎΠ½ ΠΊΠ΅Ρ, ΠΊΠΎΡ ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π° Π½Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π±Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π²ΠΎ ΡΠ΅ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌ. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡ Π½Π° ΠΊΠ΅ΡΠΎΡ;
- F2FS Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΎΠΏΡΠΈΡΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π·Π° ΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ Π±Π»ΠΎΠΊ ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ (compress_cache) Π·Π° Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π·Π° ΡΠ»ΡΡΠ°ΡΠ½ΠΎ ΡΠΈΡΠ°ΡΠ΅. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΌΠ°ΠΏΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°ΡΠ° mmap(). ΠΠ° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠΎ ΠΌΠ°ΡΠΊΠ°, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ nocompress;
- Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ Π΅ ΡΠ°Π±ΠΎΡΠ° Π²ΠΎ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΎΡ exFAT Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ° ΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π½Π΅ΠΊΠΎΠΈ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈ ΠΊΠ°ΠΌΠ΅ΡΠΈ;
- Π΄ΠΎΠ΄Π°Π΄Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊ quotactl_fd(), ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΊΠ²ΠΎΡΠΈΡΠ΅ Π½Π΅ ΠΏΡΠ΅ΠΊΡ ΠΏΠΎΡΠ΅Π±Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π½Π° ΡΡΠ΅Π΄, ΡΡΠΊΡ ΡΠΎ Π½Π°Π²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ²ΡΠ·Π°Π½ ΡΠΎ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΠΊΠΎΡ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° ΠΊΠ²ΠΎΡΠ°ΡΠ°;
- Π‘ΡΠ°ΡΠΈΡΠ΅ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ Π·Π° Π±Π»ΠΎΠΊ ΡΡΠ΅Π΄ΠΈ ΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ IDE ΡΠ΅ ΠΎΡΡΡΡΠ°Π½Π΅ΡΠΈ ΠΎΠ΄ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ; ΡΠΈΠ΅ Π΄ΠΎΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π±Π΅Π° Π·Π°ΠΌΠ΅Π½Π΅ΡΠΈ ΡΠΎ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ libata. ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΡΡΠ°ΡΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ Π΅ Π·Π°Π΄ΡΠΆΠ°Π½Π° Π²ΠΎ ΡΠ΅Π»ΠΎΡΡ, ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π°Π°Ρ ΡΠ°ΠΌΠΎ Π½Π° ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΊΠΎΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π°Π»Π΅ /dev/hd*, Π° Π½Π΅ /dev/sd*;
- βΠ‘ΡΡΠΎΠ²ΠΈΠΎΡβ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Ρ ΠΎΠ΄ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΡΠΈ Π½Π΅Π±Π°ΡΠ΅ΡΠΈΡΠ°Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ ΠΏΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ /dev/raw. ΠΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΎΠ΄Π°ΠΌΠ½Π° Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ O_DIRECT;
- ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ:
- Π½ΠΎΠ² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ Π²ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ Π½Π° Π·Π°Π΄Π°ΡΠΈ SCHED_CORE, ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ Π·Π°Π΅Π΄Π½ΠΎ Π½Π° ΠΈΡΡΠΎΡΠΎ ΡΠ°Π΄ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. ΠΠ° ΡΠ΅ΠΊΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΡ ΡΠ΅ Π΄ΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΠΊΠΎΠ»Π°ΡΠΈΡΠ° ΡΡΠΎ Π³ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° ΠΎΠΏΡΠ΅Π³ΠΎΡ Π½Π° Π΄ΠΎΠ²Π΅ΡΠ±Π° ΠΏΠΎΠΌΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠΏΠ°Π΄Π½ΠΎΡΡΠ° Π½Π° ΠΈΡΡΠΈΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ). ΠΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ, ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΈΠ³ΡΡΠ° Π΄Π΅ΠΊΠ° Π΅Π΄Π½ΠΎ ΡΠ°Π΄ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ Π΅ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΌΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΠΈΡΡΠΈΠΎΡ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΠΊ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π½Π° Π½Π΅ΠΊΠΎΠΈ Π½Π°ΠΏΠ°Π΄ΠΈ Π½Π° Specter ΡΠΎ ΡΠΏΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΈ ΠΈ Π½Π΅Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΈ Π·Π°Π΄Π°ΡΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ Π½Π° ΠΈΡΡΠ° Π½ΠΈΡΠΊΠ° SMT (Hyper Threading). ;
- Π·Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ cgroup, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°ΡΠ° kill, ΠΊΠΎΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ ΡΠ±ΠΈΠ΅ΡΠ΅ ΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π³ΡΡΠΏΠ°ΡΠ° ΠΎΠ΄Π΅Π΄Π½Π°Ρ (ΠΈΡΠΏΡΠ°ΡΠ΅ΡΠ΅ SIGKILL) ΡΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ β1β Π²ΠΎ Π²ΠΈΡΡΡΠ΅Π»Π½Π°ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° cgroup.kill;
- ΠΏΡΠΎΡΠΈΡΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ Π½Π° ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΡΠ° (βΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΡΠ°β) ΠΊΠΎΠΈ ΡΠ΅ ΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΏΡΠΈ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π½Π΅ΡΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΎ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π°ΡΠΎΠΌΡΠΊΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ°, ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½ΡΠ²Π°Π°Ρ Π΄Π²Π΅ Π»ΠΈΠ½ΠΈΠΈ Π½Π° ΠΊΠ΅ΡΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. ΠΠ°ΠΊΠ²ΠΎΡΠΎ Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄ΡΠ²Π° Π΄ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΠΏΠ°Π΄ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅, ΠΏΠ° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π±Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ»Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΡΠΎ Π³ΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ΡΠΎ. ΠΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΠΎ Π΄ΠΎΠ΄Π°Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠΎΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ° Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ βsplit_lock_detect=ratelimit:Nβ, ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅Π»ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±ΡΠ·ΠΈΠ½Π°ΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄Π°, ΠΎΡΠΊΠ°ΠΊΠΎ ΡΠ΅ Π³ΠΎ Π½Π°Π΄ΠΌΠΈΠ½Π΅ΡΠ΅ ΡΠ΅ΠΊΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΡΡΠΎ ΡΡΠ°Π½Π°Π» ΠΈΠ·Π²ΠΎΡ Π½Π° Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΎ Π±ΠΈΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ΠΈ Π΄Π° Π·Π°ΡΡΠ°Π½Π΅ΡΠ΅ 20 ms Π½Π°ΠΌΠ΅ΡΡΠΎ Π΄Π° ΠΏΡΠ΅ΠΊΠΈΠ½Π΅ΡΠ΅;
- Cgroup bandwidth controller CFS (CFS bandwidth controller), ΠΊΠΎΡ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π° ΠΊΠΎΠ»ΠΊΡ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π½Π° ΡΠ΅ΠΊΠΎΡΠ° cgroup, ΠΈΠΌΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΡΠΎ Π΄Π°Π΄Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΡΠ°Π΅ΡΠ΅ Π½Π° Π΄Π΅ΡΡΡΠ²ΠΎΡΠΎ, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ°ΡΠ° ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ Π½Π° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° cpu.cfs_quota_us Π½Π° 50000 ΠΈ cpu.cfs_period_us Π½Π° 100000 ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π³ΡΡΠΏΠ° ΠΏΡΠΎΡΠ΅ΡΠΈ Π΄Π° ΡΡΠΎΡΠ°Ρ 100ms ΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ Π½Π° ΡΠ΅ΠΊΠΎΠΈ 50ms;
- Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΏΠΎΡΠ΅ΡΠ½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½Π° Π²ΡΠΈΡΡΠ²Π°ΡΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ BPF, ΡΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ Π½Π° BPF ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΏΠΎΡΠΏΠΈΡΠ°Π½ΠΈ ΡΠΎ Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ² Π΄ΠΈΠ³ΠΈΡΠ°Π»Π΅Π½ ΠΊΠ»ΡΡ;
- Π΄ΠΎΠ΄Π°Π΄Π΅ Π½ΠΎΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π·Π° ΡΡΡΠ΅ΠΊΡ FUTEX_LOCK_PI2, ΠΊΠΎΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ ΠΌΠΎΠ½ΠΎΡΠΎΠ½ ΡΠ°ΡΠΌΠ΅Ρ Π·Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΡΡΠ΅ΠΊΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΡΡΠΎ Π³ΠΎ Π·Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΏΠΎΠΌΠΈΠ½Π°ΡΠΎ ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΌΠΈΡΡΠ²Π°ΡΠ΅;
- Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V, ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ (Transparent Huge-Pages) ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° KFENCE Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°;
- Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΠΏΠΎΠ²ΠΈΠΊ madvise(), ΠΊΠΎΡ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠ½Π°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΠ½Π°ΠΌΠΈΡΠ°ΡΠ° MADV_POPULATE_READ ΠΈ MADV_POPULATE_WRITE Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° βΡΡΡΠ°Π½ΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠ°β Π½Π° ΡΠΈΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΌΠ°ΠΏΠΈΡΠ°Π½ΠΈ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΠ΅, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ Π²ΠΈΡΡΠΈΠ½ΡΠΊΠΎ ΡΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΠ΅ (ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΠ»ΠΈΠ²ΠΎ). Π£ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° Π·Π½Π°ΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΊΠΎΡΠΈΡΠ½Π° Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ΄Π»ΠΎΠΆΡΠ²Π°ΡΠ°ΡΠ° Π²ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΎΡ Π·Π° βΡΡΡΠ°Π½ΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠ°β Π·Π° ΡΠΈΡΠ΅ Π½Π΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΎΠ΄Π΅Π΄Π½Π°Ρ, Π±Π΅Π· Π΄Π° ΡΠ΅ ΡΠ΅ΠΊΠ° Π²ΠΈΡΡΠΈΠ½ΡΠΊΠΈΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π½ΠΈΠ²;
- Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΡΠ° ΠΊΡΠ½ΠΈΡ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΈ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° QEMU;
- Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ Π½ΠΎΠ²ΠΈ ΡΡΠ°Π³Π°ΡΠΈ:ΠΎΡΠ½ΠΎΠ·ΠΈΡΠ°ΡΠ΅" Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° Π΄ΠΎΡΠ½Π΅ΡΠ°ΡΠ° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈ ΠΎΠ΄ ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΏΡΠ΅ΠΊΠΈΠ½ΠΈ ΠΈ " timerlat " Π·Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π΄Π΅ΡΠ°Π»Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° Π΄ΠΎΡΠ½Π΅ΡΠ°ΡΠ° ΠΏΡΠΈ Π±ΡΠ΄Π΅ΡΠ΅ ΠΎΠ΄ ΡΠΈΠ³Π½Π°Π»ΠΎΡ Π½Π° ΡΠ°ΡΠΌΠ΅ΡΠΎΡ;
- Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ:
- Π΄ΠΎΠ΄Π°Π΄Π΅ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊ memfd_secret(), ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΠ²Π°ΡΠ½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠ° ΠΎΠ±Π»Π°ΡΡ Π²ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ Π°Π΄ΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΡΠΎΡ, Π²ΠΈΠ΄Π»ΠΈΠ² ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΠΊΠΎΡ, ΠΊΠΎΡ Π½Π΅ ΡΠ΅ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡΠ° Π²ΠΎ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ Π½Π΅ Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½ Π·Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ;
- Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ²ΠΈΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ seccomp, ΠΊΠΎΠ³Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΡΠ²Π°Π°Ρ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΈΡΠ΅ Π·Π° Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π΅Π΄Π½Π° Π°ΡΠΎΠΌΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π·Π° Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° Π·Π°Π΄Π°ΡΠ° ΠΈ Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎ ΠΏΡΠ΅ΠΊΠΈΠ½ Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΎΡ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΏΡΠΈΡΡΠΈΠ³Π½Π΅ ΡΠΈΠ³Π½Π°Π»;
- Π΄ΠΎΠ΄Π°Π΄Π΅ Π½ΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π²ΠΎ ΠΈΠΌΠ΅Π½ΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ID, ΡΡΠΎ Π³ΠΈ Π²ΡΠ·ΡΠ²Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈΡΠ΅ Π±ΡΠΎΡΠ°ΡΠΈ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° ΡΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π²ΠΎ βΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΈΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡβ. ΠΡΠΎΠΌΠ΅Π½Π°ΡΠ° Π³ΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ Π±ΡΠΎΡΠ°ΡΠΈ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΊΠΎΠ³Π° Π΅Π΄Π΅Π½ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠΈ Π²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ;
- Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΡ KVM Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ARM64 Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ°ΡΠ° MTE (MemTag, Memory Tagging Extension) Π²ΠΎ Π³ΠΎΡΡΠΈΠ½ΡΠΊΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΈΡΠ΅ Π·Π° ΡΠ΅ΠΊΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π·Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π±Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΈ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈΡΠ΅ Π·Π° Π΄Π° ΡΠ° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈ ΠΎΠ΄ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π²Π΅ΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ, ΠΏΡΠ΅Π»Π΅Π²Π°ΡΠ΅ Π±Π°ΡΠ΅ΡΠΈ, ΠΏΡΠΈΡΡΠ°ΠΏΠΈ ΠΏΡΠ΅Π΄ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° ΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ;
- ΠΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΊΠ°ΡΠ° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΠΎΠ΄ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ARM64 ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΏΠΎΡΠ΅Π±Π½ΠΎ Π·Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ°ΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ARM64 ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° Π΄Π° Π³ΠΈ ΠΏΠΎΡΠ²ΡΠ΄ΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈ ΠΏΠΎΡΠΏΠΈΡΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π½Π΅ΠΈΡΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈΡΠ΅ Π³ΠΎΡΠ½ΠΈ Π±ΠΈΡΠΎΠ²ΠΈ Π½Π° ΡΠ°ΠΌΠΈΠΎΡ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°Ρ;
- Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌ Linux Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ Π·Π° PCI ΡΡΠ΅Π΄ΠΈ ΡΠΎ Π²ΠΈΡΡΡΠ΅Π»Π½Π° PCI ΠΌΠ°Π³ΠΈΡΡΡΠ°Π»Π°, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΠΎΠ΄ Π΄ΡΠ°ΡΠ²Π΅ΡΠΎΡ PCI-over-virtio;
- Π·Π° x86 ΡΠΈΡΡΠ΅ΠΌΠΈ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° virtio-iommu ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΠΎΡ ΡΡΠ΅Π΄, ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ Π±Π°ΡΠ°ΡΠ° Π·Π° IOMMU, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ATTACH, DETACH, MAP ΠΈ UNMAP, ΠΏΡΠ΅ΠΊΡ Π²ΠΈΡΡΠΈΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΎΡ Π±Π΅Π· Π΅ΠΌΡΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΡΠ°Π±Π΅Π»ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ;
- ΠΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° Intel, ΠΎΠ΄ ΡΠ΅ΠΌΠ΅ΡΡΡΠ²ΠΎΡΠΎ Skylake Π΄ΠΎ Coffee Lake, ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Intel TSX (Transactional Synchronization Extensions), ΠΊΠΎΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΡΠΊΠΈ ΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ°. ΠΠΊΡΡΠ΅Π½Π·ΠΈΠΈΡΠ΅ ΡΠ΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° Π½Π°ΠΏΠ°Π΄ΠΈ ΠΠΎΠΌΠ±ΠΈ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΈΡΡΠ΅ΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΡΠ΅ΠΊΡ ΠΊΠ°Π½Π°Π»ΠΈ ΠΎΠ΄ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ ΡΡΠΎ ΡΠ΅ ΡΠ°Π²ΡΠ²Π° ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ ΠΏΡΠ΅ΠΊΠΈΠ½ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ (TAA, TSX Asynchronous Abort);
- ΠΡΠ΅ΠΆΠ΅Π½ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ:
- ΠΊΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° Π²ΠΎ ΡΠ°Π΄ΡΠΎΡΠΎ Π½Π° MPTCP (MultiPath TCP), ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ TCP Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° TCP ΠΊΠΎΠ½Π΅ΠΊΡΠΈΡΠ° ΡΠΎ ΠΈΡΠΏΠΎΡΠ°ΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΠΏΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠ°Π²ΡΠΈ ΠΏΡΠ΅ΠΊΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ. ΠΠΎ Π½ΠΎΠ²ΠΈΠΎΡ Π±ΡΠΎΡ Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° Ρ Π°ΡΠΈΡΠ°ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ Π·Π° IPv4 ΠΈ IPv6 (ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° Ρ Π°Ρ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠ°ΡΠ΅ΠΊΠΈ), ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ Π΄Π° ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄ΠΈ ΠΊΠΎΠΈ ΠΏΠΎΠ»ΠΈΡΠ° Π²ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠ°Π½ΠΈΡΠ΅, ΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΡΠΈ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Ρ Π°ΡΠΎΡ ΡΡΠΎ Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π° ΠΈΠ·Π±ΠΎΡΠΎΡ Π½Π° ΠΏΠ°ΡΠ΅ΠΊΠ°ΡΠ° Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ;
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΡΠΎΠΊΠ΅Ρ Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈΠΎΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ΅Π½ Π²ΠΈΡΡΠΈΠΎ SOCK_SEQPACKET (ΡΡΠ΅Π΄Π΅Π½ ΠΈ ΡΠΈΠ³ΡΡΠ΅Π½ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° Π΄Π°ΡΠ°Π³ΡΠ°ΠΌΠΈ);
- ΠΡΠΎΡΠΈΡΠ΅Π½ΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° ΠΏΡΠΈΠΊΠ»ΡΡΠΎΡΠΈ SO_REUSEPORT, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΡΠΈ Π·Π° ΡΠ»ΡΡΠ°ΡΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Ρ Π½Π° Π΅Π΄Π½Π° ΠΏΠΎΡΡΠ° ΠΎΠ΄Π΅Π΄Π½Π°Ρ Π·Π° Π΄Π° ΠΏΡΠΈΠΌΠ°Π°Ρ Π²ΡΡΠΊΠΈ ΡΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° Π΄ΠΎΡΠ΄ΠΎΠ²Π½ΠΈ Π±Π°ΡΠ°ΡΠ° ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ Π½ΠΈΠ· ΡΠΈΡΠ΅ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΡΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΠΏΡΠ΅ΠΊΡ SO_REUSEPORT, ΡΡΠΎ Π³ΠΎ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ΡΠΎ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅ΡΠ²Π΅Ρ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΡΠΊΠΈ . ΠΠΎ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° Π΄ΡΡΠ³ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΠΊ Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° Π½Π΅ΡΡΠΏΠ΅Ρ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π±Π°ΡΠ°ΡΠ΅ ΠΎΠ΄ ΠΏΡΠ²ΠΈΡΠ½ΠΎ ΠΈΠ·Π±ΡΠ°Π½ΠΈΠΎΡ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΠΊ (Π³ΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ Π³ΡΠ±Π΅ΡΠ΅ Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ Π²ΡΡΠΊΠΈ ΠΏΡΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅);
- ΠΎΠΏΡΠ΅ΠΌΠ°:
- Π²ΠΎ Π΄ΡΠ°ΡΠ²Π΅ΡΠΎΡ amdgpu ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π½ΠΎΠ²Π°ΡΠ° ΡΠ΅ΡΠΈΡΠ° Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ AMD Radeon RX 6000, ΡΠΎ ΠΊΠΎΠ΄Π½ΠΎ ΠΈΠΌΠ΅ βBeige Gobyβ (Navi 24) ΠΈ βYellow Carpβ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Aldebaran GPU (gfx90a) ΠΈ Van Gogh APU. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ eDP ΠΏΠ°Π½Π΅Π»ΠΈ. ΠΠ° APU Renoir, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΠΈΡΡΠΈΡΠ°Π½ΠΈ Π±Π°ΡΠ΅ΡΠΈ Π²ΠΎ Π²ΠΈΠ΄Π΅ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° (TMZ, Trusted Memory Zone). ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΊΠ°ΡΡΠΈΡΠΊΠΈ ΡΠΎ ΡΠΎΠΏΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅. ΠΠ° Π³ΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Radeon RX 6000 (Navi 2x) ΠΈ ΠΏΠΎΡΡΠ°ΡΠΈΡΠ΅ AMD Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° Π·Π°ΡΡΠ΅Π΄Π° Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡΠ° ASPM (Active State Power Management), ΠΊΠΎΡ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π±Π΅ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ°ΠΌΠΎ Π·Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Navi 1x, Vega ΠΈ Polaris;
- Π·Π° AMD ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° (SVM, ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°) Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ HMM (Heterogeneous memory management), ΠΊΠΎΡ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΡΠ΅Π΄ΠΈ ΡΠΎ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠΈ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° (MMU, Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°), ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΈ Π΄ΠΎ Π³Π»Π°Π²Π½Π°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°. ΠΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° HMM, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΡΠΎΡ ΠΏΠΎΠΌΠ΅ΡΡ Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, Π²ΠΎ ΠΊΠΎΡ Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΈ Π΄ΠΎ Π³Π»Π°Π²Π½Π°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ;
- Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΏΠΎΡΠ΅ΡΠ½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΡΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° AMD Smart Shift, ΠΊΠΎΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΈ Π³ΠΈ ΠΌΠ΅Π½ΡΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° Π»Π°ΠΏΡΠΎΠΏΠΈΡΠ΅ ΡΠΎ ΡΠΈΠΏΡΠ΅Ρ ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠΈΡΠΊΠ° AMD Π·Π° Π΄Π° Π³ΠΈ Π·Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΏΡΠΈ ΠΈΠ³ΡΠ°ΡΠ΅ ΠΈΠ³ΡΠΈ, ΡΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ 3D ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°ΡΠ΅;
- Π²ΠΎ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΎΡ i915 Π·Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠΈΡΠΊΠΈ Π½Π° Intel Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Intel Alderlake P ΡΠΈΠΏΠΎΠ²ΠΈ;
- Π΄ΠΎΠ΄Π°Π΄Π΅Π½ drm/hyperv Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈΠΎΡ Π³ΡΠ°ΡΠΈΡΠΊΠΈ Π°Π΄Π°ΠΏΡΠ΅Ρ Hyper-V;
- Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΡΠ°ΡΠΈΡΠΊΠΈ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» simpledrm ΡΡΠΎ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ°ΠΌΠΊΠΎΠ²Π΅Π½ Π±Π°ΡΠ΅Ρ EFI-GOP ΠΈΠ»ΠΈ VESA ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ ΠΎΠ΄ ΡΠΈΡΠΌΠ²Π΅ΡΠΎΡ Π½Π° UEFI ΠΈΠ»ΠΈ BIOS-ΠΎΡ Π·Π° ΠΈΠ·Π»Π΅Π·. ΠΠ»Π°Π²Π½Π°ΡΠ° ΡΠ΅Π» Π½Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΎΡ Π΅ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΈΠ·Π»Π΅Π·Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΠΎΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠ°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄ΠΈΠ³Π°ΡΠ΅, ΠΏΡΠ΅Π΄ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅Π»ΠΎΡΠ΅Π½ Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° DRM. ΠΠΎΠ·Π°ΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈ ΠΊΠ°ΠΊΠΎ ΠΏΡΠΈΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΎΠΏΡΠ΅ΠΌΠ° ΡΡΠΎ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ΠΌΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈ Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ Π·Π° DRM;
- Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΡΠ΅-Π²ΠΎ-Π΅Π΄Π½ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Raspberry Pi 400;
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π·Π° ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΡΡ Π½Π° dell-wmi Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈΡΠ΅ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°ΡΠΈ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ°ΡΠ° ΠΈ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½ΠΎΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΠΎ Π»Π°ΠΏΡΠΎΠΏΠΈΡΠ΅ Π½Π° 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