Π Π΅Π»ΠΈΠ· ядра Linux 6.3

ПослС Π΄Π²ΡƒΡ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ прСдставил Ρ€Π΅Π»ΠΈΠ· ядра Linux 6.3. Π‘Ρ€Π΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: чистка ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ARM-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈ графичСских Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ языка Rust, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° hwnoise, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹Ρ… структур red-black Π² BPF, Ρ€Π΅ΠΆΠΈΠΌ BIG TCP для IPv4, встроСнный тСст ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Dhrystone, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡ€Π΅Ρ‚Π° исполнСния Π² memfd, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° создания HID-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ BPF, Π² Btrfs приняты измСнСния для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π³Ρ€ΡƒΠΏΠΏ Π±Π»ΠΎΠΊΠΎΠ².

Π’ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ принято 15637 исправлСний ΠΎΡ‚ 2055 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²; Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Ρ‚Ρ‡Π° — 76 ΠœΠ‘ (измСнСния Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ 14296 Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 1023183 строк ΠΊΠΎΠ΄Π°, ΡƒΠ΄Π°Π»Π΅Π½ΠΎ 883103 строк). Для сравнСния Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ вСрсии Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ 16843 исправлСний ΠΎΡ‚ 2178 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²; Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Ρ‚Ρ‡Π° — 62 ΠœΠ‘. Около 39% всСх прСдставлСнных Π² ядрС 6.3 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ связаны с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ устройств, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 15% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ обновлСнию ΠΊΠΎΠ΄Π°, спСцифичного для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, 10% связано с сСтСвым стСком, 5% — с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами ΠΈ 3% c Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ подсистСмами ядра.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° Π² ядрС 6.3:

  • ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΈ систСмныС сСрвисы
    • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ чистка ΠΊΠΎΠ΄Π°, связанного со старыми ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ARM-ΠΏΠ»Π°Ρ‚Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ исходных тСкстов ядра Π½Π° 150 тысяч строк. Π£Π΄Π°Π»Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 40 старых ARM-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² для устройств Π²Π²ΠΎΠ΄Π° с интСрфСйсом HID (Human Interface Device), Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ΅ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ пСрСнос ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ Rust-for-Linux Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, связанной с использованиСм языка Rust Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ языка для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Rust Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ Rust Π² число ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сборочных зависимостСй ΠΊ ядру. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π² ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… выпусках Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ‚ΠΈΠΏΠΎΠ² Arc (рСализация ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ со счётчиком ссылок), ScopeGuard (выполняСтся чистку ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π·Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости) ΠΈ ForeignOwnable (обСспСчиваСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Π‘ΠΈ ΠΈ Rust). Из ΠΏΠ°ΠΊΠ΅Ρ‚Π° ‘alloc’ ΡƒΠ΄Π°Π»Ρ‘Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ‘borrow’ (Ρ‚ΠΈΠΏ ‘Cow’ ΠΈ Ρ‚ΠΈΠΏΠ°ΠΆ ‘ToOwned’). ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ состояниС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Rust Π² ядрС ΡƒΠΆΠ΅ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π² ядро ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, написанныС Π½Π° Rust.
    • Π’ User-mode Linux (запуск ядра ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ процСсса) Π½Π° систСмах x86-64 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠ΄Π°, написанного Π½Π° языкС Rust. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сборки User-mode Linux ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ clang с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ Π½Π° этапС связывания (LTO).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° hwnoise для отслСТивания Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… особСнностями Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ отклонСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (jitter) ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄Π½Ρƒ микросСкунду Π·Π° 10 ΠΌΠΈΠ½ΡƒΡ‚ вычислСний.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ядра с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ тСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Dhrystone, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ CPU Π² конфигурациях Π±Π΅Π· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° стадии портирования для Π½ΠΎΠ²Ρ‹Ρ… SoC, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° лишь Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ядра).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ядра «cgroup.memory=nobpf», ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ ΡƒΡ‡Ρ‘Ρ‚ потрСблСния памяти для BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для систСм с ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΌΠΈ.
    • Для BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° рСализация структуры Π΄Π°Π½Π½Ρ‹Ρ… red-black tree, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ kfunc + kptr (bpf_rbtree_add, bpf_rbtree_remove, bpf_rbtree_first) вмСсто добавлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π°.
    • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ пСрСзапускаСмых ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ (rseq, restartable sequences) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ процСссам ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния (memory-map concurrency ID), отоТдСствляСмых с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ CPU. Rseq прСдоставляСт срСдства для быстрого Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠ³ΠΎ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² случаС прСрывания Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΎΡ‡ΠΈΡ‰Π°ΡŽΡ‚ΡΡ ΠΈ прСдпринимаСтся повторная ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° выполнСния.
    • На процСссорах ARM обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° инструкций SME 2 (Scalable Matrix Extension).
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ s390x ΠΈ RISC-V RV64 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° «BPF trampoline», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ядром ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ BPF.
    • На систСмах с процСссорами Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ использованиС инструкций «ZBB» для ускорСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ со строками.
    • Для систСм Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ LoongArch (примСняСмой Π² процСссорах Loongson 3 5000 ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ RISC ISA, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° MIPS ΠΈ RISC-V) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ адрСсного пространства ядра (KASLR), измСнСния размСщСния ядра Π² памяти (relocation), Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ останова ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° kprobe.
    • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ DAMOS (Data Access Monitoring-based Operation Schemes), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΌ Π²Ρ‹ΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ частоты обращСния ΠΊ памяти, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² DAMOS ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… областСй памяти.
    • Π’ минимальной стандартной Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Nolibc Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ s390 ΠΈ Π½Π°Π±ΠΎΡ€Π° инструкций Arm Thumb1 (Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ARM, AArch64, i386, x86_64, RISC-V ΠΈ MIPS).
    • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация objtool для ускорСния сборки ядра ΠΈ сниТСния ΠΏΠΈΠΊΠΎΠ²ΠΎΠ³ΠΎ потрСблСния памяти ΠΏΡ€ΠΈ сборкС (ΠΏΡ€ΠΈ сборкС ядра Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ «allyesconfig» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ процСссов Π½Π° систСмах с 32 Π“Π‘ ΠžΠ—Π£).
    • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сборки ядра компилятором Intel ICC, которая ΡƒΠΆΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π² Π½Π΅Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π²ΠΈΠ΄Π΅ ΠΈ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ изъявил ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.
  • Дисковая подсистСма, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы
    • Π’ tmpfs Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм, примСняСмого для сопоставлСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ‡ΡƒΠΆΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ систСмС.
    • Π’ Btrfs для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π³Ρ€ΡƒΠΏΠΏ Π±Π»ΠΎΠΊΠΎΠ² обСспСчСно Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ экстСнтов ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π±Π»ΠΎΠΊΠΎΠ², Ρ‚.Π΅. любая Π³Ρ€ΡƒΠΏΠΏΠ° Π±Π»ΠΎΠΊΠΎΠ² Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ограничиваСтся ΠΌΠ΅Π»ΠΊΠΈΠΌΠΈ (Π΄ΠΎ 128KB), срСдними (Π΄ΠΎ 8 ΠœΠ‘) ΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ экстСнтами. ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ raid56. ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠΎΠ΄ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм. ВнСсСны ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, позволившиС Π΄ΠΎ 10 Ρ€Π°Π· ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ send Π·Π° счёт ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ utime для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ нСобходимости. Π’ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π° ускорСно Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ fiemap Π·Π° счёт пропуска ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… ссылок для совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ²). На 10% ускорСны ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π·Π° счёт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ поиска ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² структурах b-tree.
    • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π€Π‘ ext4 Π·Π° счёт возмоТности ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ выполнСния нСсколькими процСссами ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ прямого Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Π² Π·Π°Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ совмСстныС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ inode вмСсто эксклюзивной Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.
    • Π’ f2fs ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ читаСмости ΠΊΠΎΠ΄Π°. Π Π΅ΡˆΠ΅Π½Ρ‹ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, связанныС с Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠΉ записью ΠΈ Π½ΠΎΠ²Ρ‹ΠΌ кэшСм экстСнтов.
    • Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС EROFS (Enhanced Read-Only File System), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для использования Π² Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…, доступных Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ привязки ΠΊ CPU ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ распаковки сТатого содСрТимого Ρ„Π°ΠΉΠ»ΠΎΠ² для сокращСния Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΏΡ€ΠΈ доступС ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ.
    • Π’ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° BFQ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π° Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΡ…ΡΡ дисках, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠΈΡ… Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСсколько Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎ управляСмых ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΎΠ² Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ (Multi Actuator).
    • Π’ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра NFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° AES-SHA2.
    • Π’ подсистСму FUSE (Filesystems In User Space) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ запросов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² запрос Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. На Π±Π°Π·Π΅ Π΄Π°Π½Π½ΠΎΠΉ возмоТности Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π³Ρ€ΡƒΠΏΠΏ ΠΊ запросу Π€Π‘, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для ΡƒΡ‡Ρ‘Ρ‚Π° ΠΏΡ€Π°Π² доступа ΠΏΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π€Π‘ (create, mkdir, symlink, mknod).
  • Виртуализация ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • Π’ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ KVM для систСм x86 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Π³ΠΈΠΏΠ΅Ρ€Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Hyper-V ΠΈ обСспСчСн ΠΈΡ… проброс Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² хост-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ИзмСнСниС ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ запуска Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° Hyper-V.
    • Π’ KVM ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа гостСвой систСмы ΠΊ событиям PMU (Performance Monitor Unit), связанным с ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
    • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ memfd, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания областСй, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ исполнСниС ΠΊΠΎΠ΄Π° (non-executable memfd) ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° исполнСниС.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая prctl-опСрация PR_SET_MDWE, Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€Π°Π² доступа ΠΊ памяти, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΡ… запись ΠΈ исполнСниС.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Π°Ρ‚Π°ΠΊ класса Spectre, рСализованная Π½Π° основС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² процСссорах AMD Zen 4 автоматичСского Ρ€Π΅ΠΆΠΈΠΌΠ° IBRS (Enhanced Indirect Branch Restricted Speculation), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Ρ‚ΡŒ спСкулятивноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ инструкций Π²ΠΎ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ контСкста. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ мСньшим Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ расходам ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ Retpoline.
    • УстранСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ Π°Ρ‚Π°ΠΊ Spectre v2 ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ многопоточности (SMT ΠΈΠ»ΠΈ Hyper-Threading) ΠΈ вызванная ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° STIBP (Single Thread Indirect Branch Predictors) ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ€Π΅ΠΆΠΈΠΌΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ IBRS.
    • Для систСм Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM64 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая сборочная Ρ†Π΅Π»ΡŒ «virtconfig», ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ активируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ядра, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² систСмах Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ m68k Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° seccomp.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° встроСнных Π² процСссоры AMD Ryzen устройств CRB TPM2 (Command Response Buffer), основанных Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Microsoft Pluton.
  • БСтСвая подсистСма
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ netlink-интСрфСйс для настройки подуровня прСдотвращСния ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ PLCA (Physical Layer Collision Avoidance), ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π² спСцификации IEEE 802.3cg-2019 ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² Ethernet-сСтях 802.3cg (10Base-T1S), ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ устройств ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°-Π²Π΅Ρ‰Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… систСм. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ PLCA позволяСт ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Ethernet-сСтях с раздСляСмой срСдой (shared media).
    • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° API «wireless extensions» для управлСния бСспроводными интСрфСйсами WiFi 7 (802.11be) Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹ΠΉ API Π½Π΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ настройки. ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ использования API «wireless extensions», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ эмулируСмый слой, для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… устройств Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.
    • ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° подробная докумСнтация ΠΏΠΎ API netlink (для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ). Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ynl-gen-c для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π‘ΠΈ-ΠΊΠΎΠ΄Π° Π½Π° основС YAML-спСцификаций ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Netlink.
    • Π’ сСтСвыС сокСты Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΈ IP_LOCAL_PORT_RANGE для упрощСния настройки исходящих соСдинСний Ρ‡Π΅Ρ€Π΅Π· трансляторы адрСсов Π±Π΅Π· примСнСния SNAT. ΠŸΡ€ΠΈ использовании ΠΎΠ΄Π½ΠΎΠ³ΠΎ IP-адрСса Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… хостах IP_LOCAL_PORT_RANGE Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ хостС свой Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ исходящих сСтСвых ΠΏΠΎΡ€Ρ‚ΠΎΠ², Π° Π½Π° шлюзС ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π½Π° основС Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎΡ€Ρ‚ΠΎΠ².
    • Для MPTCP (MultiPath TCP) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ IPv4 ΠΈ IPv6. MPTCP прСдставляСт собой Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TCP для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ TCP-соСдинСния с доставкой ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ нСскольким ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π½Ρ‹Π΅ сСтСвыС интСрфСйсы, привязанныС ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ IP-адрСсам.
    • Для IPv4 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ BIG TCP, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ TCP-ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄ΠΎ 4Π“Π‘ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ высокоскоростных Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… сСтСй Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ². ПодобноС ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΈ 16-Π±ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ поля Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ достигаСтся Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ «jumbo»-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² IP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выставляСтся Π² 0, Π° фактичСский Ρ€Π°Π·ΠΌΠ΅Ρ€ пСрСдаётся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ 32-разрядном ΠΏΠΎΠ»Π΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½ΠΎΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ sysctl-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ default_rps_mask, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡƒΡŽ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ RPS (Receive Packet Steering), ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΡƒΡŽ Π·Π° распрСдСлСниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ входящСго Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΠΎ ядрам CPU Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ.
    • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° дисциплин ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ для ограничСния Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° CBQ (class-based queuing), ATM (ATM virtual circuits), dsmark (differentiated service marker), tcindex (traffic-control index) ΠΈ RSVP (resource reservation protocol). Π”Π°Π½Π½Ρ‹Π΅ дисциплины Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя находятся Π² Π·Π°Π±Ρ€ΠΎΡˆΠ΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈ Π½Π΅ нашлось ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΈΡ… сопровоТдСниС.
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Π£Π΄Π°Π»Π΅Π½Ρ‹ всС графичСскиС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π½Π° Π±Π°Π·Π΅ DRI1: i810 (старыС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹ Intel 8xx), mga (Matrox GPU), r128 (ATI Rage 128 GPU, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠ°Ρ€Ρ‚Ρ‹ Rage Fury, XPERT 99 ΠΈ XPERT 128), savage (S3 Savage GPU), sis (Crusty SiS GPU), tdfx (3dfx Voodoo) ΠΈ via (VIA IGP), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ Π² 2016 Π³ΠΎΠ΄Ρƒ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Mesa с 2012 Π³ΠΎΠ΄Π°.
    • Π£Π΄Π°Π»Π΅Π½Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€Π° (fbdev) omap1, s3c2410, tmiofb ΠΈ w100fb.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ DRM-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² CPU Intel Meteor Lake (14 ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅) Π±Π»ΠΎΠΊΠΎΠ² VPU (Versatile Processing Unit), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для ускорСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, связанных с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ Π·Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ с использованиСм подсистСмы «accel», Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΠΎΠΉ Π½Π° обСспСчСниС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ускоритСлСй вычислСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ASIC, Ρ‚Π°ΠΊ ΠΈ Π²ΠΈΠ΄Π΅ IP-Π±Π»ΠΎΠΊΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ SoC ΠΈ GPU.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ i915 (Intel) Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° дискрСтных Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ Intel Arc (DG2/Alchemist), Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU Meteor Lake, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU Intel Xe HP 4tile.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ amdgpu Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ AdaptiveSync ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования с нСсколькими дисплСями Ρ€Π΅ΠΆΠΈΠΌΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° экран Π΄Π°Π½Π½Ρ‹Ρ… (Secure Display). ОбновлСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° DCN 3.2 (Display Core Next), SR-IOV RAS, VCN RAS, SMU 13.x ΠΈ DP 2.1.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ msm (GPU Qualcomm Adreno) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ SM8350, SM8450 SM8550, SDM845 ΠΈ SC8280XP.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Nouveau ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° старых Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ioctl.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ etnaviv Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° NPU VerSilicon (VeriSilicon Neural Network Processor).
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ pata_parport для IDE-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· ядра старый Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ PARIDE ΠΈ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ подсистСму ATA. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° являСтся Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π° ΠΈ диска Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ath12k для бСспроводных ΠΊΠ°Ρ€Ρ‚ Π½Π° Ρ‡ΠΈΠΏΠ°Ρ… Qualcomm с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Wi-Fi 7. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° бСспроводных ΠΊΠ°Ρ€Ρ‚ Π½Π° Ρ‡ΠΈΠΏΠ°Ρ… RealTek RTL8188EU.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 46 ΠΏΠ»Π°Ρ‚ с процСссорами Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM64, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Samsung Galaxy tab A (2015), Samsung Galaxy S5, BananaPi R3, Debix Model A, EmbedFire LubanCat 1/2, Facebook Greatlakes, Orange Pi R1 Plus, Tesla FSD, Π° Ρ‚Π°ΠΊΠΆΠ΅ устройства Π½Π° Π±Π°Π·Π΅ SoC Qualcomm MSM8953 (Snapdragon 610), SM8550 (Snapdragon 8 Gen 2), SDM450 ΠΈ SDM632, Rockchips RK3128 TV box, RV1126 Vision, RK3588, RK3568, RK3566, RK3588 ΠΈ RK3328, TI K3 (AM642/AM654/AM68/AM69).

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ латиноамСриканский Π€ΠΎΠ½Π΄ свободного ПО сформировал Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ свободного ядра 6.3 — Linux-libre 6.3-gnu, ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ элСмСнтов ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², содСрТащих нСсвободныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ участки ΠΊΠΎΠ΄Π°, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π’ выпускС 6.3 ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° чистка Π±Π»ΠΎΠ±ΠΎΠ² Π² Π½ΠΎΠ²Ρ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… ath12k, aw88395 ΠΈ peb2466, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… devicetree для устройств qcom Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ AArch64. ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½ ΠΊΠΎΠ΄ чистки Π±Π»ΠΎΠ±ΠΎΠ² Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… ΠΈ подсистСмах amdgpu, xhci-rcar, qcom-q6v5-pas, sp8870, av7110, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… для DVB-ΠΊΠ°Ρ€Ρ‚ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π² ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… BPF-Ρ„Π°ΠΉΠ»Π°Ρ…. ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° чистка Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… mga, r128, tm6000, cpia2 ΠΈ r8188eu, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΈΠ· ядра. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° очистка ΠΎΡ‚ Π±Π»ΠΎΠ±ΠΎΠ² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° i915.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ