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

ПослС Π΄Π²ΡƒΡ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ прСдставил Ρ€Π΅Π»ΠΈΠ· ядра Linux 5.17. Π‘Ρ€Π΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: новая систСма управлСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ для процСссоров AMD, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ рСкурсивного ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° пСрСносимых скомпилированных BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° псСвдослучайных чисСл Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ BLAKE2s, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° RTLA для Π°Π½Π°Π»ΠΈΠ·Π° выполнСния Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎΠ²Ρ‹ΠΉ бэкСнд fscache для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ сСтСвых Π€Π‘, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прикрСплСния ΠΈΠΌΡ‘Π½ ΠΊ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΌ опСрациям mmap.

Π’ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ принято 14203 исправлСний ΠΎΡ‚ 1995 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Ρ‚Ρ‡Π° — 37 ΠœΠ‘ (измСнСния Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ 11366 Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 506043 строк ΠΊΠΎΠ΄Π°, ΡƒΠ΄Π°Π»Π΅Π½ΠΎ 250954 строк). Около 44% всСх прСдставлСнных Π² 5.17 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ связаны с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ устройств, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 16% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ обновлСнию ΠΊΠΎΠ΄Π°, спСцифичного для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, 15% связано с сСтСвым стСком, 4% — с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами ΠΈ 4% c Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ подсистСмами ядра.

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

  • Дисковая подсистСма, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм, примСняСмого для сопоставлСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ‡ΡƒΠΆΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ систСмС. ДобавлСнная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ позволяСт рСкурсивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ ΠΏΠΎΠ²Π΅Ρ€Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΆΠ΅ примСняСтся ΠΌΠ°ΠΏΠΏΠΈΠ½Π³.
    • ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ пСрСписана подсистСма fscache, примСняСмая для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π² локальной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· сСтСвыС Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы. Новая рСализация отличаСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° ΠΈ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ услоТнённых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ планирования ΠΈ отслСТивания состояний ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Π±ΠΎΠ»Π΅Π΅ простыС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ fscache Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС CIFS.
    • Π’ подсистСмС отслСТивания событий Π² Π€Π‘ fanotify Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ событий FAN_RENAME, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ€Π°Π·ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ пСрСимСнования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² (Ρ€Π°Π½Π΅Π΅ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ Π΄Π²Π° Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… события FAN_MOVED_FROM ΠΈ FAN_MOVED_TO).
    • Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС Btrfs ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ логгирования ΠΈ fsync для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², рСализованная Π·Π° счёт копирования Ρ‚ΠΎΠ»ΡŒΠΊΠΎ индСксных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ сокращСния ΠΎΠ±ΡŠΡ‘ΠΌΠ° Π»ΠΎΠ³Π³ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° индСксации ΠΈ поиска ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ записСй ΠΎ свободном пространствС, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 30% ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя поиска. Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Π΅Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ устройства ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ балансировки ΠΌΠ΅ΠΆΠ΄Ρƒ накопитСлями, Ρ‚.Π΅. ΠΏΡ€ΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π€Π‘ с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ skip_balance.
    • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ синтаксис монтирования Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Ceph, Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠΉ имСвшиСся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, связанныС с привязкой ΠΊ IP-адрСсам. ΠšΡ€ΠΎΠΌΠ΅ IP-адрСсов для опрСдСлСния сСрвСра Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ кластСра (FSID): mount -t ceph [email protected]_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
    • Ѐайловая систСма Ext4 ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ API для монтирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ раздСляСт стадии Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΎΠΏΡ†ΠΈΠΉ монтирования ΠΈ настройки супСрблока. ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΉ монтирования lazytime ΠΈ nolazytime, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ добавлялись ΠΊΠ°ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ для упрощСния ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° util-linux Π½Π° использованиС Ρ„Π»Π°Π³Π° MS_LAZYTIME. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° установки ΠΈ чтСния ΠΌΠ΅Ρ‚ΠΎΠΊ Π² Π€Π‘ (ioctl FS_IOC_GETFSLABEL ΠΈ FS_IOC_SETFSLABEL).
    • NFSv4 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах Π±Π΅Π· раздСлСния рСгистров символов Π² ΠΈΠΌΠ΅Π½Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Π’ NFSv4.1+ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° опрСдСлСния Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… сСансов (trunking).
  • ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΈ систСмныС сСрвисы
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ amd-pstate, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ динамичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ частотой для достиТСния ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ CPU ΠΈ APU AMD начиная с поколСния Zen 2, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ совмСстно с ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Valve ΠΈ Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ эффСктивности управлСния энСргопотрСблСниСм. Для Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ измСнСния частоты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ CPPC (Collaborative Processor Performance Control), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ (Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ трСмя уровнями ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ) ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояния, Ρ‡Π΅ΠΌ Ρ€Π°Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ P-state Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π½Π° Π±Π°Π·Π΅ ACPI (CPUFreq).
    • Π’ подсистСмС eBPF ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ bpf_loop(), ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² eBPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, Π±ΠΎΠ»Π΅Π΅ быстрый ΠΈ простой для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ.
    • На ΡƒΡ€ΠΎΠ²Π½Π΅ ядра Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ CO-RE (Compile Once — Run Everywhere), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ eBPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ядру ΠΈ Ρ‚ΠΈΠΏΠ°ΠΌ BTF (BPF Type Format).
    • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ назначСния ΠΈΠΌΡ‘Π½ для областСй ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠΉ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ (Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· malloc) памяти, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ потрСблСния памяти Π² прилоТСниях. ИмСна ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· prctl с Ρ„Π»Π°Π³ΠΎΠΌ PR_SET_VMA_ANON_NAME ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² /proc/pid/maps ΠΈ /proc/pid/smaps Π² Ρ„ΠΎΡ€ΠΌΠ΅ «[anon:<name>]».
    • Π’ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ Π·Π°Π΄Π°Ρ‡ обСспСчСно отслСТиваниС ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² /proc/PID/sched Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ процСссами Π² состоянии ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ простоя (forced-idle), примСняСмого Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для сниТСния Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€Π΅Π²Π΅ процСссора.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ gpio-sim, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для симуляции Ρ‡ΠΈΠΏΠΎΠ² GPIO для провСдСния тСстирования.
    • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «perf ftrace» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° «latency» для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ гистограмм с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°Ρ….
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ «RTLA» для Π°Π½Π°Π»ΠΈΠ·Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ состав входят Ρ‚Π°ΠΊΠΈΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, ΠΊΠ°ΠΊ osnoise (опрСдСляСт влияниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ) ΠΈ timerlat (измСняСт Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, связанныС с Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠΌ).
    • Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° вторая сСрия ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Ρ„ΠΎΠ»ΠΈΠ°Π½Ρ‚ΠΎΠ² страниц памяти (page folios), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½Π½Ρ‹Π΅ страницы памяти (compound pages), Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠΉ сСмантикой ΠΈ Π±ΠΎΠ»Π΅Π΅ понятной ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ИспользованиС Ρ„ΠΎΠ»ΠΈΠ°Π½Ρ‚ΠΎΠ² позволяСт ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… подсистСмах ядра. Π’ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ‚Ρ‡Π°Ρ… Π·Π°Π²Π΅Ρ€ΡˆΡ‘Π½ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ страничного кэша Π½Π° использованиС Ρ„ΠΎΠ»ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΎΠ»ΠΈΠ°Π½Ρ‚ΠΎΠ² Π² Π€Π‘ XFS.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ сборки «make mod2noconfig», ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ гСнСрируСтся конфигурация, ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‰Π°Ρ всС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Π΅ подсистСмы Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра.
    • ΠŸΠΎΠ΄Π½ΡΡ‚Ρ‹ трСбования ΠΊ вСрсии LLVM/Clang, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для сборки ядра. Для сборки Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ трСбуСтся ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ выпуск LLVM 11.
  • Виртуализация ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° обновлённая рСализация Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° псСвдослучайных чисСл RDRAND, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ устройств /dev/random ΠΈ /dev/urandom, ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° использованиС Ρ…Π΅Ρˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ BLAKE2s вмСсто SHA1 для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ смСшивания энтропии. ИзмСнСниС ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° псСвдослучайных чисСл, благодаря избавлСнию ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° SHA1 ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ пСрСзаписи Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ RNG. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ BLAKE2s ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Π΅Ρ‚ SHA1 ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ€Π°Π·ΠΈΠ»ΠΎΡΡŒ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ уязвимостСй Π² процСссорах, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… спСкулятивным Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ инструкций послС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ бСзусловного прямого ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΠ·-Π·Π° ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ инструкций, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π² памяти сразу Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° (SLS, Straight Line Speculation). Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ трСбуСтся сборка с использованиСм выпуска GCC 12, находящСгося Π² Π½Π° стадии тСстирования.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ отслСТивания подсчёта ссылок (refcount, reference-count), Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° сниТСниС числа ошибок ΠΏΡ€ΠΈ подсчётС ссылок, приводящих ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ ΠΊ памяти послС Π΅Ρ‘ освобоТдСния. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠΊΠ° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ сСтСвой подсистСмой, Π½ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй ядра.
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½ΠΎΠ²Ρ‹Ρ… записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ страниц памяти процСсса, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ систСму, блокируя Π°Ρ‚Π°ΠΊΠΈ Π½Π° Ρ€Π°Π½Π½Π΅ΠΉ стадии.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ распаковки ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра нСпосрСдствСнно самим ядром, Π° Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ LSM-модуля LoadPin Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ядра Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠ· Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ устройства хранСния.
    • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° сборка с Ρ„Π»Π°Π³ΠΎΠΌ «-Wcast-function-type», Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΊ нСсовмСстимому Ρ‚ΠΈΠΏΡƒ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ хостовый Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ pvUSB для Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° Xen, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ доступ ΠΊ USB-устройствам, ΠΏΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΌ Π² гостСвыС систСмы (позволяСт ΠΈΠ· гостСвых систСм ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ физичСским USB-устройствам, Π·Π°ΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½Ρ‹ΠΌ Π·Π° гостСвой систСмой).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Wi-Fi Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с подсистСмой IME (Intel Management Engine), которая поставляСтся Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ соврСмСнных матСринских ΠΏΠ»Π°Ρ‚ с процСссорами Intel ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ микропроцСссора, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ нСзависимо ΠΎΡ‚ CPU.
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM64 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ инструмСнта KCSAN (Kernel Concurrency Sanitizer), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для динамичСского выявлСния состояний Π³ΠΎΠ½ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ядра.
    • Для 32-разрядных систСм ARM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ примСнСния ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° KFENCE для выявлСния ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.
    • Π’ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π΅ KVM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° инструкций AMX (Advanced Matrix Extensions), Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² грядущих сСрвСрных процСссорах Intel Xeon Scalable.
  • БСтСвая подсистСма
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° выноса (offloading) Π½Π° сторону сСтСвых устройств ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, связанных с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° MCTP (Management Component Transport Protocol) ΠΏΠΎΠ²Π΅Ρ€Ρ… устройств с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ интСрфСйсом. MCTP ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для взаимодСйствия ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ связанных с Π½ΠΈΠΌΠΈ устройств (хост-процСссоры, ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Π΅ устройства ΠΈ Ρ‚.ΠΏ.).
    • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация TCP-стСка, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² recvmsg Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ освобоТдСниС Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² сокСтов.
    • На ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ CAP_NET_RAW Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ выставлСниС Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ setsockopt Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² SO_PRIORITY ΠΈ SO_MARK.
    • Для IPv4 Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ raw-сокСтов Π½Π΅ ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ IP-адрСсам, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ†ΠΈΠΈ IP_FREEBIND ΠΈ IP_TRANSPARENT.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ sysctl arp_missed_max для настройки ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ числа сбоСв ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ARP-ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠΌ, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сСтСвой интСрфСйс пСрСводится Π² ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠ΅ состояниС.
    • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ sysctl min_pmtu ΠΈ mtu_expires для сСтСвых пространств ΠΈΠΌΡ‘Π½.
    • Π’ API ethtool Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ установки ΠΈ опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² входящих ΠΈ исходящих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².
    • Π’ Netfilter Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½ΠΎΠ³ΠΎ pppoe-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² сСтСвом мостС.
    • Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ksmbd с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ сСрвСра, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SMB3, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ, задСйствован сСтСвой ΠΏΠΎΡ€Ρ‚ 445 для smbdirect ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° «smb2 max credit».
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Π’ подсистСму drm (Direct Renderering Manager) ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ i915 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° экранов для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΡƒΡŽΡ‚ΡΡ экранами со встроСнным Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΠΌ просмотр со стороны. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ спСциализированныС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… экранов ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра Ρ‡Π΅Ρ€Π΅Π· выставлСниС свойств Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… KMS-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ….
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ amdgpu Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ STB (Smart Trace Buffer) для всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π΅Ρ‘ GPU AMD. STB ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΈΠ· сбоСв ΠΈ выявлСниС источника ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· сохранСниС Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ функциях, выполняСмых ΠΏΠ΅Ρ€Π΅Π΄ послСдним сбоСм.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ i915 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‡ΠΈΠΏΠΎΠ² Intel Raptor Lake S ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° графичСской подсистСмы Ρ‡ΠΈΠΏΠΎΠ² Intel Alder Lake P. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния подсвСткой экрана Ρ‡Π΅Ρ€Π΅Π· DPCD-интСрфСйс VESA.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… fbcon/fbdev Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π² консоли.
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° интСграция ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‡ΠΈΠΏΠΎΠ² Apple M1. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° simpledrm Π½Π° систСмах с Ρ‡ΠΈΠΏΠΎΠΌ Apple M1 для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€, прСдоставляСмый ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ARM SoΠ‘, устройств ΠΈ ΠΏΠ»Π°Ρ‚ Snapdragon 7c, 845 ΠΈ 888 (Sony Xperia XZ2 / XZ2C / XZ3, Xperia 1 III / 5 III, Samsung J5, Microsoft Surface Duo 2), Mediatek MT6589 (Fairphone FP1), Mediatek MT8183 (Acer Chromebook 314), Mediatek MT7986a/b (примСняСтся Π² Wi-fi ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°Ρ…), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI SPEAr320s, NXP i.MX8 ULP8, Aspeed AST2500/AST2600, Engicam i.Core STM32MP1, Allwinner Tanix TX6, Facebook Bletchley BMC, Goramo MultiLink, JOZ Access Point, Y Soft IOTA Crux/Crux+, t6000/t6001 MacBook Pro 14/16.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° процСссоров ARM Cortex-M55 ΠΈ Cortex-M33.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° устройств Π½Π° Π±Π°Π·Π΅ CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SoC StarFive JH7100 Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ lenovo-yogabook-wmi для управлСния подсвСткой ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ доступа ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π² Lenovo Yoga Book.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ asus_wmi_sensors для доступа ΠΊ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π½Π° матСринских ΠΏΠ»Π°Ρ‚Π°Ρ… Asus X370, X470, B450, B550 ΠΈ X399 Π½Π° Π±Π°Π·Π΅ процСссоров AMD Ryzen.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ x86-android-tablets для ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π½Ρ‹Ρ… ПК Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86, поставляСмых с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Android.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСнсорных экранов TrekStor SurfTab duo W1 ΠΈ элСктронного ΠΏΠ΅Ρ€Π° для ΠΏΠ»Π°Π½ΡˆΠ΅Π½Ρ‚ΠΎΠ² Chuwi Hi10 Plus ΠΈ Pro.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для SoC Tegra 20/30 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° управлСния ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ ΠΈ напряТСниСм. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° старых 32-разрядных устройствах Π½Π° Π±Π°Π·Π΅ SoC Tegra, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 ΠΈ Pad TF300TG.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Siemens.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° LCD-ΠΏΠ°Π½Π΅Π»Π΅ΠΉ Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA ΠΈ Team Source Display TST043015CMHX.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… систСм ΠΈ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, Intel systems using NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLV320ADC3xxx. Π Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Tegra194 HD-audio. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° HDA для ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² CS35L41. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… систСм для Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ² Lenovo ΠΈ HP, Π° Ρ‚Π°ΠΊΠΆΠ΅ матСринских ΠΏΠ»Π°Ρ‚ Gigabyte.

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

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