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

ПослС Π΄Π²ΡƒΡ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ прСдставил Ρ€Π΅Π»ΠΈΠ· ядра Linux 5.3. Π‘Ρ€Π΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU AMD Navi, процСссоров Zhaoxi ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ управлСния энСргопотрСблСниСм Intel Speed Select, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования инструкций umwait для оТидания Π±Π΅Π· использования Ρ†ΠΈΠΊΠ»ΠΎΠ²,
ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ ‘utilization clamping’ для асиммСтричных CPU, систСмный Π²Ρ‹Π·ΠΎΠ² pidfd_open, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования IPv4-адрСсов ΠΈΠ· подсСти 0.0.0.0/8, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния nftables, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° HDR Π² подсистСмС DRM, интСграция Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° ACRN.

Π’ анонсС Π½ΠΎΠ²ΠΎΠ³ΠΎ выпуска Линус Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠ» всСм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎ Π³Π»Π°Π²Π½ΠΎΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ядра — сохранСниС нСизмСнности повСдСния для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ИзмСнСния Π² ядрС Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ прилоТСния ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ рСгрСссиям Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. ΠŸΡ€ΠΈ этом Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ повСдСния ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ABI, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ появлСниС ошибок, Π½ΠΎ ΠΈ косвСнноС влияниС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ. Π’ качСствС наглядного ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±Ρ‹Π»Π° ΠΎΡ‚Π±Ρ€ΠΎΡˆΠ΅Π½Π° полСзная оптимизация Π² ΠΊΠΎΠ΄Π΅ Ext4, ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ число ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŽ Π·Π° счёт ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ inode ΠΏΡ€ΠΈ ΠΌΠ΅Π»ΠΊΠΈΡ… запросах Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·-Π·Π° сниТСния дисковой активности энтропия для Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° случайных чисСл getrandom() стала Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… конфигурациях ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ стСчСнии ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π² ΠΌΠΎΠ³Π»ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒΡΡ подвисания Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄ΠΎ заполнСния ΠΏΡƒΠ»Π° энтропии. Π’Π°ΠΊ ΠΊΠ°ΠΊ оптимизация Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ полСзная, срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° дискуссия, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π»ΠΎΡΡŒ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π·Π° счёт ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π° getrandom() с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π»Π°Π³Π° для оТидания энтропии, Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ повлияСт Π½Π° качСство случайных чисСл Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π’ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ принято 15794 исправлСний ΠΎΡ‚ 1974 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²,
Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Ρ‚Ρ‡Π° — 92 Мб (измСнСния Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ 13986 Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 258419 строк ΠΊΠΎΠ΄Π°,
ΡƒΠ΄Π°Π»Π΅Π½ΠΎ 599137 строк). Около 39% всСх прСдставлСнных Π² 5.3
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ связаны с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ устройств, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 12% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚
ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ обновлСнию ΠΊΠΎΠ΄Π° спСцифичного для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, 11%
связано с сСтСвым стСком, 3% — Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами ΠΈ 3% c Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ
подсистСмами ядра.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΈ систСмныС сСрвисы
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ‘pidfd’, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰Π΅ΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ситуации с ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ использованиСм PID (pidfd связываСтся с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ процСссом ΠΈ Π½Π΅ мСняСтся, Π² Ρ‚ΠΎΠΌ врСмя ΠΊΠ°ΠΊ PID ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ привязан ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ процСссу послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ процСсса, ассоциированного с этим PID). Π Π°Π½Π΅Π΅ Π² ядро ΡƒΠΆΠ΅ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½
      систСмный Π²Ρ‹Π·ΠΎΠ² pidfd_send_signal() ΠΈ Ρ„Π»Π°Π³ CLONE_PIDFD Π² Π²Ρ‹Π·ΠΎΠ²Π΅ clone(), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ pidfd для использования Π² idfd_send_signal(). ΠŸΡ€ΠΈ использовании Π²Ρ‹Π·ΠΎΠ²Π° clone() с Ρ„Π»Π°Π³ΠΎΠΌ CLONE_PIDFD ΠΌΠΎΠ³Π»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с сСрвисными ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌΠΈ ΠΈΠ»ΠΈ систСмой ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСссов ΠΏΡ€ΠΈ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠ΅ памяти Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android. Π’ этом случаС для запуска ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Ρ‹Π·ΠΎΠ² fork() ΠΈΠ»ΠΈ clone() Π±Π΅Π· CLONE_PIDFD.

      Π’ ядрС 5.3 прСдставлСн систСмный Π²Ρ‹Π·ΠΎΠ² pidfd_open(), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ провСряСмый pidfd для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ процСсса, созданного Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² clone() с Ρ„Π»Π°Π³ΠΎΠΌ CLONE_PIDFD. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠΎΠ»Π»ΠΈΠ½Π³Π° pidfd ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ poll() ΠΈ epoll(), Ρ‡Ρ‚ΠΎ позволяСт Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°Ρ… процСссов ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… процСссов, Π½Π΅ опасаясь состояния Π³ΠΎΠ½ΠΊΠΈ Π² случаС присвоСния PID Π½ΠΎΠ²ΠΎΠΌΡƒ процСссу. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ увСдомлСния ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСсса, связанного с pidfd, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ своСго Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ процСсса;

    • Π’ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π·Π°Π΄Π°Ρ‡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° закрСплСния Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (Utilization clamping), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ минимального ΠΈΠ»ΠΈ максимального Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² частот, Π² зависимости ΠΎΡ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π½Π° CPU Π·Π°Π΄Π°Ρ‡. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ускоряСт Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° качСство взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Ρ‡Π΅Ρ€Π΅Π· запуск этих Π·Π°Π΄Π°Ρ‡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π΅ «Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΠΎΠΉ» частоты. НизкоприоритСтныС Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π΅ ΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ c использованиСм Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»ΠΈΠΌΠΈΡ‚Π° «Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½ΠΎΠΉ» частоты. Π›ΠΈΠΌΠΈΡ‚Ρ‹ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ sched_uclamp_util_min ΠΈ sched_uclamp_util_max Π² систСмном Π²Ρ‹Π·ΠΎΠ²Π΅ sched_setattr().
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ управлСния энСргопотрСблСниСм Intel Speed Select, доступной Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сСрвСрах с процСссорами Intel Xeon. Указанная тСхнология позволяСт ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ настройки ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ пропускной способности Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² для Ρ€Π°Π·Π½Ρ‹Ρ… ядСр CPU, Ρ‡Ρ‚ΠΎ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для Π·Π°Π΄Π°Ρ‡, выполняСмых Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… ядрах, ТСртвуя ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ядрах;
    • ΠŸΡ€ΠΎΡ†Π΅ΡΡΠ°ΠΌ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ прСдоставлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ оТидания Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ нСбольшого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±Π΅Π· использования Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ инструкции umwait. Данная инструкция, вмСстС с инструкциями umonitor ΠΈ tpause, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π² готовящихся ΠΊ выпуску Ρ‡ΠΈΠΏΠ°Ρ… Intel «Tremont», ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, эффСктивныС с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния энСргопотрСблСния ΠΈ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΏΡ€ΠΈ использовании Hyper Threading;
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… страниц памяти (huge pages);
    • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ трассировки «kprobes» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ разымСнования ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ядра Π² пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΎΡ†Π΅Π½ΠΊΠΈ содСрТимого структур, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ установки ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π½Π° этапС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.
    • Π’ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция PREEMPT_RT для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π‘Π°ΠΌ ΠΊΠΎΠ΄ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ядро, Π½ΠΎ появлСниС ΠΎΠΏΡ†ΠΈΠΈ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π·Π½Π°ΠΊΠΎΠΌ, Ρ‡Ρ‚ΠΎ многолСтняя эпопСя ΠΏΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ Realtime-Preempt близится ΠΊ Ρ„ΠΈΠ½Π°Π»Ρƒ;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ систСмный Π²Ρ‹Π·ΠΎΠ² clone3() c Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° интСрфСйса clone(), Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ большСго числа Ρ„Π»Π°Π³ΠΎΠ²;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ bpf_send_signal(), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сигналы ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ процСссам;
    • Для событий perf Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° KVM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ событий, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ администратору ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ событий, допустимыС ΠΈΠ»ΠΈ Π½Π΅ допустимыС для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° сторонС гостСвой систСмы;
    • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ eBPF-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ, Ссли Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ Π»ΠΈΠΌΠΈΡ‚Π° Π½Π° максимальноС число инструкций;
  • Дисковая подсистСма, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы
    • Для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы XFS Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄Π° inode (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΊΠ²ΠΎΡ‚). Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ioctl BULKSTAT ΠΈ INUMBERS, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ доступ ΠΊ возмоТностям, появившимся Π² пятой Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π€Π‘, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ врСмя роТдСния inode ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ задания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² BULKSTAT ΠΈ INUMBERS для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ AG (Allocation Groups);
    • Π’ Ext4 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° пустот Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… (Π½Π΅ привязанных Π±Π»ΠΎΠΊΠΎΠ²).
      ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„Π»Π°Π³Π° «i» (immutable) для ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (Π·Π°ΠΏΡ€Π΅Ρ‚ записи Π² ситуации, Ссли Ρ„Π»Π°Π³ Π±Ρ‹Π» установлСн Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Ρ„Π°ΠΉΠ» ΡƒΠΆΠ΅ Π±Ρ‹Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚);

    • Π’ Btrfs обСспСчСно ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ быстрой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ crc32c Π½Π° всСх Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ…;
    • Π’ CIFS с ΠΊΠΎΠ΄Π° для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ smbdirect снят ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ SMB3 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ GCM. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая опция монтирования для извлСчСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈΠ· записСй ACE (Access Π‘ontrol Entry). ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Π° open();
    • Π’ F2FS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция для ограничСния сборщика мусора ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ checkpoint=disable. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ioctl для удалСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠ· F2FS, Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ€Π°Π·Π΄Π΅Π»Π° Π½Π° Π»Π΅Ρ‚Ρƒ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ размСщСния Π² F2FS Ρ„Π°ΠΉΠ»Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ с обСспСчСниСм прямого Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. Для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° закрСплСния Ρ„Π°ΠΉΠ»Π° ΠΈ выдСлСния Π±Π»ΠΎΠΊΠΎΠ² для ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²;
    • Π’ интСрфСйс для асинхронного Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° io_uring Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° асинхронных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ sendmsg() ΠΈ recvmsg();
    • Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму UBIFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сТатия с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° zstd ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ подписанных ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Π€Π‘;
    • Π’ Π€Π‘ Ceph Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠΊ бСзопасности SELinux для Ρ„Π°ΠΉΠ»ΠΎΠ²;
    • Для NFSv4 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° новая опция монтировния «nconnect=», ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ число установлСнных с сСрвСром соСдинСний. Π’Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ этими соСдинСниями Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ с использованиСм балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сСрвСром NFSv4 Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ создаётся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /proc/fs/nfsd/clients с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ свСдСния ΠΎΠ± ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΈΠΌΠΈ Ρ„Π°ΠΉΠ»Π°Ρ…;
  • Виртуализация ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • Π’ состав ядра Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ для встраиваСмых устройств ACRN, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ написан с оглядкой Π½Π° Π³ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ для выполнСния Π·Π°Π΄Π°Ρ‡ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΊ использованию Π² критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… систСмах. ACRN обСспСчиваСт ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΈΠ·ΠΊΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ (low latency) ΠΈ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΡƒΡŽ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ взаимодСйствии с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ виртуализация рСсурсов CPU, Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, сСтСвой подсистСмы, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ ΠΈ Π·Π²ΡƒΠΊΠΎΠΌ. ACRN ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для запуска Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин Π² элСктронных Π±Π»ΠΎΠΊΠ°Ρ… управлСния, ΠΏΡ€ΠΈΠ±ΠΎΡ€Π½Ρ‹Ρ… панСлях, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… IoT-устройств ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ встраиваСмой Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ;
    • Π’ User-mode Linux Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ «ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΡ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ врСмя Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ UML для упрощСния ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ связанного со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠ΄Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
      time-travel-start, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ систСмныС часы с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π² epoch-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅;

    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ядра «init_on_alloc» ΠΈ «init_on_free», ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ выдСляСмых ΠΈ освобоТдаСмых областСй памяти (Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ нулями ΠΏΡ€ΠΈ malloc ΠΈ free), Ρ‡Ρ‚ΠΎ позволяСт ΡƒΡΠΈΠ»ΠΈΡ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π·Π° счёт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов Π½Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ virtio-iommu с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠ°Ρ€Π°Π²ΠΈΡ€Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ устройства, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ IOMMU-запросы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ATTACH, DETACH, MAP ΠΈ UNMAP, ΠΏΠΎΠ²Π΅Ρ€Ρ… транспорта virtio Π±Π΅Π· эмуляции Ρ‚Π°Π±Π»ΠΈΡ† страниц памяти;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ virtio-pmem, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ доступ ΠΊ устройствам хранСния, ΠΎΡ‚Ρ€Π°ΠΆΡ‘Π½Π½Ρ‹ΠΌ Π² физичСскоС адрСсноС пространство, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ NVDIMM;
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прикрСплСния криптографичСских ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ ΠΈΠ»ΠΈ сСтСвому пространству ΠΈΠΌΡ‘Π½ (ΠΊΠ»ΡŽΡ‡ΠΈ становятся нСдоступны Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ пространства ΠΈΠΌΡ‘Π½), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ACL;
    • Π’ криптоподсистСму Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‡Π΅Π½ΡŒ быстрого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΠΊΠΎΠ³ΠΎ Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ xxhash, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ упираСтся Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ памяти;
  • БСтСвая подсистСма
    • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° адрСсов IPv4 Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 0.0.0.0/8, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Π» нСдоступСн для использования. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ подсСти ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ 16 ΠΌΠ»Π½ адрСсов IPv4;
    • Π’ Netfilter для nftables Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π·Π° счёт примСнСния Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Flow Block API. На сторону сСтСвых Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒΡΡ Ρ†Π΅Π»Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ» со всСми Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌΠΈ. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ производится Ρ‡Π΅Ρ€Π΅Π· привязку Ρ„Π»Π°Π³Π° NFT_TABLE_F_HW ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ простыС ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² 3 ΠΈ 4 ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, дСйствия ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ/ΠΎΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ, сопоставлСния ΠΏΠΎ IP ΠΈ сСтСвым ΠΏΠΎΡ€Ρ‚Π°ΠΌ отправитСля/получатСля ΠΈ Ρ‚ΠΈΠΏΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° отслСТивания соСдинСний для сСтСвых мостов, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ примСнСния ΡΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ прослойки br_netfilter;
    • Π’ nf_tables Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° модуля SYNPROXY, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· iptables, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ опциям Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ IPv4;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прикрСплСния BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΊ систСмным Π²Ρ‹Π·ΠΎΠ²Π°ΠΌ setsockopt() ΠΈ getsockopt(), Ρ‡Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, позволяСт ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ свои ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ доступа ΠΊ этим Π²Ρ‹Π·ΠΎΠ²Π°ΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая Ρ‚ΠΎΡ‡ΠΊΠ° Π²Ρ‹Π·ΠΎΠ²Π° (hook), ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» RTT (round-trip-time, врСмя ΠΏΠΈΠ½Π³Π°);
    • Для IPv4 ΠΈ IPv6 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ nexthop, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ Ρ‚Π°Π±Π»ΠΈΡ† ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ тСсты ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ использовании Π½ΠΎΠ²ΠΎΠΉ систСмы Π½Π°Π±ΠΎΡ€ Π² 743 тысяч ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² Π±Ρ‹Π» Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π² ядро всСго Π·Π° 4.3 сСкунды;
    • Для Bluetooth Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, нСобходимая для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ LE ping;
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° x86-совмСстимых процСссоров ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Zhaoxin, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ совмСстного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° VIA Technologies ΠΈ ΠΌΡƒΠ½ΠΈΡ†ΠΈΠΏΠ°Π»ΠΈΡ‚Π΅Ρ‚Π° Шанхая. БСмСйство CPU ZX построСно Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86-64 Isaiah, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‰Π΅ΠΉ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ VIA Centaur;
    • Π’ подсистСму DRM (Direct Rendering Manager), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² графичСскиС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ amdgpu ΠΈ i915, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π±ΠΎΡ€Π°, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· HDMI-ΠΏΠΎΡ€Ρ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… HDR (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ динамичСский Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HDR-ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ экраны, способныС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ яркости;
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ amdgpu Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU AMD NAVI (RX5700), которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, ΠΊΠΎΠ΄ для взаимодСйствия с экранами (DCN2), ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ GFX ΠΈ вычислСний (GFX10),
      SDMA 5 (System DMA0), срСдства управлСния ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ/Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ (VCN2). Π’ amdgpu Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠ°Ρ€Ρ‚ Π½Π° Π±Π°Π·Π΅ GPU Vega12 ΠΈ Vega20, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ энСргопотрСблСниСм;

    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ amdkfd (для дискрСтных GPU, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Fiji, Tonga, Polaris) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠ°Ρ€Ρ‚ Π½Π° Π±Π°Π·Π΅ GPU VegaM;
    • Π’ DRM-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ для Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ Intel для Ρ‡ΠΈΠΏΠΎΠ² Icelake Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· DisplayPort Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ YCbCr4:2:0. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ GuC для SKL, BXT, KBL, GLK ΠΈ ICL. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания экрана Π² асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сохранСния ΠΈ восстановлСния контСкста Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° для Ρ‡ΠΈΠΏΠΎΠ² Ironlake (gen5) ΠΈ gen4 (Broadwater — Cantiga), Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ· пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ состояниС GPU ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΎΡ‚ выполнСния ΠΎΠ΄Π½ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ;
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Nouveau обСспСчСно ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ чипсСта NVIDIA Turing TU116;
    • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности DRM/KMS-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ускоритСлСй экранных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ARM Komeda (Mali D71), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, раздСлСния/слияния слоёв, ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°, ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ записи, AFBC, SMMU ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² кодирования Ρ†Π²Π΅Ρ‚Π° Y0L2, P010, YUV420_8/10BIT;
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ MSM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСрии A540 GPU Adreno, примСняСмой Π² процСссорах Qualcomm, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° DSI-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° MSM8998 для Snapdragon 835;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для LCD-ΠΏΠ°Π½Π΅Π»Π΅ΠΉ Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,
      Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 ΠΈ VXT VL050-8048NT-C01;

    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для задСйствования срСдств ускорСния дСкодирования
      Π²ΠΈΠ΄Π΅ΠΎ, доступных Π² SoC Amlogic Meson;

    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ v3d (для GPU Broadcom Video Core V, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² Raspberry Pi) появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° диспСтчСризации Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ²;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для SPI-ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ ΠΈ Ρ‚Ρ€Π΅ΠΊΠΏΠ°Π΄ΠΎΠ², примСняСмых Π² соврСмСнных модСлях Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ² Apple MacBook ΠΈ MacBookPro;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Ρ‰ΠΈΡ‚Π° ioctl-Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², связанных с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ floppy, Π° сам Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ оставлСнный Π±Π΅Π· сопровоТдСния
      («orphaned»), Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ тСстирования. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΠΎΠΊΠ° сохраняСтся Π² ядрС, Π½ΠΎ Π΅Π³ΠΎ коррСктная Ρ€Π°Π±ΠΎΡ‚Π° Π½Π΅ гарантируСтся. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ рассматриваСтся ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для Π΅Π³ΠΎ тСстирования Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ — всС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ внСшниС Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ интСрфСйс USB.

    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ cpufreq-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для ΠΏΠ»Π°Ρ‚ Raspberry Pi, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ динамичСски ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ частоты процСссора;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… ARM SoC Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) ΠΈ Amlogic G12B (4x Cortex-A73 + 2x Cortex-A53), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ»Π°Ρ‚:
      • Purism Librem5,
      • Aspeed BMC,
      • Microsoft Olympus BMC,
      • Kontron SMARC,
      • Novtech Meerkat96 (i.MX7),
      • ST Micro Avenger96,
      • Google Cheza (Qualcomm SDM845),
      • Qualcomm Dragonboard 845c (Qualcomm SDM845),
      • Hugsun X99 TV Box (Rockchip RK3399),
      • Khadas Edge/Edge-V/Captain (Rockchip RK3399),
      • HiHope RZ/G2M,
      • NXP LS1021A-TSN.

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ЛатиноамСриканский Π€ΠΎΠ½Π΄ свободного ПО сформировал
Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ свободного ядра 5.3Linux-libre 5.3-gnu, ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ элСмСнтов ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², содСрТащих нСсвободныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ участки ΠΊΠΎΠ΄Π°, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π±Π»ΠΎΠ±ΠΎΠ² Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… qcom, hdcp drm, allegro-dvt ΠΈ meson-vdec.
ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½ ΠΊΠΎΠ΄ чистки Π±Π»ΠΎΠ±ΠΎΠ² Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… ΠΈ подсистСмах amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ для skylake, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Ρƒ.

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

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