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

ПослС Π΄Π²ΡƒΡ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ прСдставил Ρ€Π΅Π»ΠΈΠ· ядра Linux 5.15. Π‘Ρ€Π΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: Π½ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ NTFS с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ записи, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ksmbd с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ SMB-сСрвСра, подсистСма DAMON для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° доступа ΠΊ памяти, ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ для Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° fs-verity Π² Btrfs, систСмный Π²Ρ‹Π·ΠΎΠ² process_mrelease для систСм рСагирования Π½Π° Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΡƒ памяти, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ аттСстации dm-ima.

Π’ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ принято 13499 исправлСний ΠΎΡ‚ 1888 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Ρ‚Ρ‡Π° — 42 ΠœΠ‘ (измСнСния Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ 10895 Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 632522 строк ΠΊΠΎΠ΄Π°, ΡƒΠ΄Π°Π»Π΅Π½ΠΎ 299966 строк). Около 45% всСх прСдставлСнных Π² 5.15 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ связаны с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ устройств, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 14% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ обновлСнию ΠΊΠΎΠ΄Π°, спСцифичного для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, 14% связано с сСтСвым стСком, 6% — с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами ΠΈ 3% c Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ подсистСмами ядра.

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

  • Дисковая подсистСма, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы
    • Π’ ядро принята новая Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы NTFS, открытая ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Paragon Software. Новый Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ записи ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС возмоТности Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ вСрсии NTFS 3.1, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ², списки доступа (ACL), Ρ€Π΅ΠΆΠΈΠΌ сТатия Π΄Π°Π½Π½Ρ‹Ρ…, ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с пустотами Π² Ρ„Π°ΠΉΠ»Π°Ρ… (sparse) ΠΈ воспроизвСдСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΆΡƒΡ€Π½Π°Π»Π° для восстановлСния цСлостности послС сбоСв.
    • Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС Btrfs Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° fs-verity, примСняСмого для ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ³ΠΎ контроля цСлостности ΠΈ подлинности ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ассоциированным с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ криптографичСским Ρ…ΡΡˆΠ°ΠΌ ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌ, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΌ Π² области ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π½Π΅Π΅ fs-verity Π±Ρ‹Π» доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π€Π‘ Ext4 ΠΈ F2fs.

      Π’ Btrfs Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ для смонтированных Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм (Ρ€Π°Π½Π΅Π΅ поддСрТивался для Π€Π‘ FAT, ext4 ΠΈ XFS). Указанная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ позволяСт ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ‡ΡƒΠΆΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ систСмС.

      Π‘Ρ€Π΅Π΄ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Btrfs: ускорСниС добавлСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² индСкс ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ создания Ρ„Π°ΠΉΠ»ΠΎΠ²; Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ raid0 с ΠΎΠ΄Π½ΠΈΠΌ устройством, Π° raid10 с двумя (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² процСссС пСрСконфигурирования массива); опция «rescue=ibadroots» для игнорирования Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° экстСнтов; ускорСниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ «send»; сниТСниС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π²ΠΎ врСмя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ пСрСимСнования; Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования сСкторов 4K Π½Π° систСмах с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ страницы памяти 64K.

    • Π’ XFS стабилизирована Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π² Π€Π‘ Π΄Π°Ρ‚ послС 2038 Π³ΠΎΠ΄Π°. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ inode ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ установки ΠΈ удалСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ². C Ρ†Π΅Π»ΡŒΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΡƒΠ±Ρ€Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ дисковых ΠΊΠ²ΠΎΡ‚ для ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² (ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ²ΠΎΡ‚Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ связанный с Π½ΠΈΠΌΠΈ подсчёт Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½, поэтому для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ трСбуСтся ΠΏΠ΅Ρ€Π΅ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅).
    • Π’ EXT4 ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ записи delalloc-Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡΠΈΡ€ΠΎΡ‚Π΅Π²ΡˆΠΈΡ… (orphan) Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‰ΠΈΡ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ, Π½ΠΎ ΠΎΠΊΠ°Π·Π°Π²ΡˆΠΈΡ…ΡΡ Π±Π΅Π· привязки ΠΊ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ discard вынСсСна ΠΈΠ· jbd2-ΠΏΠΎΡ‚ΠΎΠΊΠ° kthread для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.
    • Π’ F2FS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «discard_unit=block|segment|section» для привязки ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ discard (ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠ° освобоТдённых Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ физичСски) ΠΊ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΡŽ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π»ΠΎΠΊΠ°, сСктора, сСгмСнта ΠΈΠ»ΠΈ сСкции. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° отслСТивания измСнСния Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π΅.
    • Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС EROFS (Extendable Read-Only File System) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° прямого Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° для Ρ„Π°ΠΉΠ»ΠΎΠ², сохранённых Π±Π΅Π· сТатия, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° fiemap.
    • Π’ OverlayFS Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° коррСктная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„Π»Π°Π³ΠΎΠ² монтирования «immutable», «append-only», «sync» ΠΈ «noatime».
    • Π’ NFS ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ситуаций, ΠΊΠΎΠ³Π΄Π° NFS-сСрвСр пСрСстал ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° запросы. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ монтирования с ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ сСрвСра, Π½ΠΎ доступного Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСтСвой адрСс.
    • ΠΠ°Ρ‡Π°Π»Π°ΡΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΡŽ подсистСмы FSCACHE.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° EFI-Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² с нСстандартным Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ† GPT.
    • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ fanotify Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π»Π°Π³ FAN_REPORT_PIDFD, приводящий ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΈΡŽ pidfd Π² числС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. Pidfd ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ситуации с ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ использованиСм PID для Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ процСссов, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΊ отслСТиваСмым Ρ„Π°ΠΉΠ»Π°ΠΌ (pidfd связываСтся с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ процСссом ΠΈ Π½Π΅ мСняСтся, Π² Ρ‚ΠΎΠΌ врСмя ΠΊΠ°ΠΊ PID ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ привязан ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ процСссу послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ процСсса, ассоциированного с этим PID).
    • Π’ систСмный Π²Ρ‹Π·ΠΎΠ² move_mount() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ добавлСния Ρ‚ΠΎΡ‡Π΅ΠΊ монтирования Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ совмСстныС Π³Ρ€ΡƒΠΏΠΏΡ‹, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ c сохранСниСм ΠΈ восстановлСниСм состояния процСссов Π² инструмСнтарии CRIU ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… пространств монтирования, совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ….
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ скрытых состояния Π³ΠΎΠ½ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ чтСния ΠΈΠ· кэша Π²ΠΎ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ пустот Π² Ρ„Π°ΠΉΠ»Π΅.
    • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… (mandatory) Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², приводящих ΠΊ измСнСнию Ρ„Π°ΠΉΠ»Π°. Из-Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояний Π³ΠΎΠ½ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΡΡ‡ΠΈΡ‚Π°Π»ΠΈΡΡŒ Π½Π΅Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ.
    • Π£Π΄Π°Π»Π΅Π½Π° подсистСма LightNVM, позволявшая ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прямой доступ ΠΊ SSD-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŽ, минуя прослойку эмуляции. LightNVM потСрял смысл послС появлСния стандартов NVMe, ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ зонирования (ZNS, Zoned Namespace).
  • ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΈ систСмныС сСрвисы
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° подсистСма DAMON (Data Access MONitor), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с доступом ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π² привязкС ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ процСссу, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° позволяСт ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ областям памяти обращался процСсс Π·Π° всё врСмя своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π° ΠΊΠ°ΠΊΠΈΠ΅ области памяти ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ нСвострСбованными. Из особСнностСй DAMON отмСчаСтся низкая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° CPU, нСбольшоС расходованиС памяти, высокая Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ прСдсказуСмыС постоянныС Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы, Π½Π΅ зависящиС ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ядром для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для понимания Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ процСсс ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ использования памяти, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, высвобоТдСния лишнСй памяти систСмС.
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ систСмный Π²Ρ‹Π·ΠΎΠ² process_mrelease, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс освобоТдСния памяти процСсса, Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ своё Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π’ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… условиях освобоТдСниС рСсурсов ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ процСсса выполняСтся Π½Π΅ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ систСм Ρ€Π°Π½Π½Π΅Π³ΠΎ рСагирования Π½Π° Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΡƒ памяти, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ oomd (прСдоставляСтся Π² systemd) ΠΈ lmkd (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Android). ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° process_mrelease ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ систСмы ΠΌΠΎΠ³ΡƒΡ‚ Π±ΠΎΠ»Π΅Π΅ прСдсказуСмо ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ памяти ΠΎΡ‚ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌΡ‹Ρ… процСссов.
    • Из Π²Π΅Ρ‚ΠΊΠΈ ядра PREEMPT_RT, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ развиваСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, пСрСнСсСны Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ mutex, ww_mutex, rw_semaphore, spinlock ΠΈ rwlock, основанныС Π½Π° подсистСмС RT-Mutex. Π’ SLUB slab allocator Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ измСнСния, ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ PREEMPT_RT ΠΈ ΡΠ½ΠΈΠΆΠ°ΡŽΡ‰ΠΈΡ… влияниС Π½Π° прСрывания.
    • Π’ cgroup Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Π·Π°Π΄Π°Ρ‡ SCHED_IDLE, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΠ½Π°Π±Π΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ сразу всС процСссы Π³Ρ€ΡƒΠΏΠΏΡ‹, входящиС Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ cgroup. Π’.Π΅. эти процСссы Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π² систСмС Π½Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… выполнСния. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ установки Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° SCHED_IDLE ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ процСссу ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΡ€ΠΈ привязкС SCHED_IDLE ΠΊ cgroup ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ для выполнСния учитываСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ вСс Π·Π°Π΄Π°Ρ‡ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹.
    • ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΡƒΡ‡Ρ‘Ρ‚Π° потрСблСния памяти Π² cgroup Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ отслСТивания Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… структур Π΄Π°Π½Π½Ρ‹Ρ… ядра, Π² Ρ‚ΠΎΠΌ числС создаваСмых для poll-ΠΈΠ½Π³Π°, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов ΠΈ пространств ΠΈΠΌΡ‘Π½.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° асиммСтричной ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ привязки Π·Π°Π΄Π°Ρ‡ ΠΊ процСссорным ядрам Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ CPU Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ 32-разрядных Π·Π°Π΄Π°Ρ‡, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² 64-разрядном Ρ€Π΅ΠΆΠΈΠΌΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ARM). Новый Ρ€Π΅ΠΆΠΈΠΌ позволяСт ΠΏΡ€ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ выполнСния 32-разрядных Π·Π°Π΄Π°Ρ‡ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ CPU, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ 32-разрядныС Π·Π°Π΄Π°Ρ‡ΠΈ.
    • Π’ интСрфСйсС асинхронного Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° io_uring появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° открытия Ρ„Π°ΠΉΠ»ΠΎΠ² сразу Π² индСксной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ fixed-file, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сущСствСнно ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½ΠΎ ΠΈΠ΄Ρ‘Ρ‚ Π² Ρ€Π°Π·Ρ€Π΅Π· с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ для Unix процСссом использования Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… дСскрипторов для открытия Ρ„Π°ΠΉΠ»ΠΎΠ².

      Π’ io_uring для подсистСмы BIO (Block I/O Layer) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ («BIO recycling»), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π² процСссС управлСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 10% ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ число ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Π² сСкунду. Π’ io_uring Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² mkdirat(), symlinkat() ΠΈ linkat().

    • Для BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запроса ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ для UNIX-сокСтов, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΈ сокСтов для setsockopt. Π’ BTF dumper Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….
    • На NUMA-систСмах с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ памяти, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π² ситуации исчСрпания свободного пространства Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ пСрСнос вытСсняСмых страниц памяти ΠΈΠ· динамичСской памяти (DRAM) Π² Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ (Persistent Memory) вмСсто удалСния этих страниц. ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ тСстов ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ подобная Ρ‚Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСмах. Для NUMA Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выдСлСния страниц памяти для процСсса ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΡƒΠ·Π»ΠΎΠ² NUMA.
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARC Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Ρ€Ρ‘Ρ…- ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† страниц памяти, Ρ‡Ρ‚ΠΎ Π² дальнСйшСм ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ 64-разрядных процСссоров ARC.
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ s390 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ примСнСния ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° KFENCE для выявлСния ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Π° состояний Π³ΠΎΠ½ΠΊΠΈ KCSAN.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° индСксирования списка сообщСний, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· printk(), Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π°Π·ΠΎΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ всС ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ сообщСния ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
    • Π’ mmap() ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΈ VM_DENYWRITE, Π° ΠΊΠΎΠ΄ ядра ΠΈΠ·Π±Π°Π²Π»Π΅Π½ ΠΎΡ‚ использования Ρ€Π΅ΠΆΠΈΠΌΠ° MAP_DENYWRITE, Ρ‡Ρ‚ΠΎ сократило число ситуаций, приводящих ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ записи Π² Ρ„Π°ΠΉΠ» с ошибкой ETXTBSY.
    • Π’ подсистСму трассировки Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ «Event probes», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΡ‚ΡŒ ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ событиям трассировки, опрСдСляя собствСнный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π°.
    • ΠŸΡ€ΠΈ сборкС ядра с использованиСм компилятора Clang ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ задСйствован встроСнный ассСмблСр ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° LLVM.
    • Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ избавлСнию ядра ΠΎΡ‚ ΠΊΠΎΠ΄Π°, приводящСго ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ компилятором, ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½ экспСримСнт с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π΅ΠΆΠΈΠΌΠ° «-Werror», ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ прСдупрСТдСния компилятора ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ошибки. Π’ процСссС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ выпуска 5.15 Линус Π½Π°Ρ‡Π°Π» ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния, Π½Π΅ приводящиС ΠΊ прСдупрСТдСниям ΠΏΡ€ΠΈ сборкС ядра ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π» сборку с «-Werror», Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ согласился с ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΎ прСТдСврСмСнности Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ ΠΎΡ‚Π»ΠΎΠΆΠΈΠ» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ «-Werror» ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„Π»Π°Π³Π° «-Werror» ΠΏΡ€ΠΈ сборкС производится ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° WERROR, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ выставлСн Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ COMPILE_TEST, Ρ‚.Π΅. ΠΏΠΎΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ тСстовых сборках.
  • Виртуализация ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • Π’ Device Mapper (DM) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ dm-ima с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ аттСстации Π½Π° основС подсистСмы IMA (Integrity Measurement Architecture), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ сСрвису Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ состояниС подсистСм ядра для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² ΠΈΡ… подлинности. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ dm-ima позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Device Mapper Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, привязанныС ΠΊ внСшним ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΌ систСмам, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ IMA провСряСтся Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΠΎΡΡ‚ΡŒ запускаСмой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ DM target.
    • Π’ prctl() Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° новая опция PR_SPEC_L1D_FLUSH, ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ядро Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ содСрТимоС кэша ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня (L1D) ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ контСкста. Π”Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ позволяСт Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎ для Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… процСссов Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ использования Π°Ρ‚Π°ΠΊ ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ для опрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡΠ΅Π²ΡˆΠΈΡ… Π² кэшС Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ уязвимостСй, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… спСкулятивным Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ инструкций Π² CPU. Π¦Π΅Π½ΠΎΠΉ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ PR_SPEC_L1D_FLUSH (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½) являСтся сущСствСнноС сниТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сборки ядра с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² GCC Ρ„Π»Π°Π³Π° «-fzero-call-used-regs=used-gpr», ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ всСх рСгистров ΠΏΠ΅Ρ€Π΅Π΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ управлСния ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Указанная опция позволяСт Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π½Π° 20% ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ число Π±Π»ΠΎΠΊΠΎΠ², ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹Ρ… для построСния ROP-Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΎΠ² (Return-Oriented Programming) Π² эксплоитах.
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сборки ядСр для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM64 Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² для Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° Hyper-V.
    • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² «VDUSE», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΡ‡Π½Ρ‹Π΅ устройства Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Virtio Π² качСствС транспорта для доступа ΠΈΠ· гостСвых систСм.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Virtio-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для ΡˆΠΈΠ½Ρ‹ I2C, Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ I2C Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠ°Ρ€Π°Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с использованиСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… бэкСндов.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Virtio-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ gpio-virtio, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ гостСвым систСмам ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ линиям GPIO, прСдоставляСмым хост-систСмой.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ограничСния доступа ΠΊ страницам памяти для Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ DMA Π½Π° систСмах Π±Π΅Π· I/O MMU (memory-management unit).
    • Π’ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π΅ KVM Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° статистики Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΠΈ логарифмичСских гистограмм.
  • БСтСвая подсистСма
    • Π’ состав ядра Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ksmbd с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ сСрвСра, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SMB3. ΠœΠΎΠ΄ΡƒΠ»ΡŒ дополняСт Ρ€Π°Π½Π΅Π΅ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ Π² ядрС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° SMB ΠΈ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ SMB-сСрвСра, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π±ΠΎΠ»Π΅Π΅ эффСктивСн с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, потрСблСния памяти ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями ядра. Ksmbd прСподносится ΠΊΠ°ΠΊ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ для примСнСния Π½Π° встраиваСмых устройствах Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΊ Samba, ΠΏΡ€ΠΈ нСобходимости ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ с инструмСнтами ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ Samba. Из возмоТностСй ksmbd выдСляСтся ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ распрСдСлённого ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ² (SMB leases) Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… систСмах, которая позволяСт сущСствСнно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Π’ дальнСйшСм ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ RDMA («smbdirect») ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, связанных с усилСниСм надёТности ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ подписям.
    • Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ CIFS ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° NTLM ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, основанных Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ DES ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅ SMB1.
    • Π’ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСтСвых мостов для vlan Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° multicast.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ bonding, примСняСмый для агрСгирования сСтСвых интСрфСйсов, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° подсистСмы XDP (eXpress Data Path), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСтСвыми ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π½Π° стадии Π΄ΠΎ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСтСвым стСком ядра Linux.
    • Π’ бСспроводном стСкС mac80211 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 6GHZ STA (Special Temporary Authorization) Π² Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… LPI, SP ΠΈ VLP, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ установки ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… TWT (Target Wake Time) Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ доступа.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° MCTP (Management Component Transport Protocol), примСняСмого для взаимодСйствия ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ связанных с Π½ΠΈΠΌΠΈ устройств (хост-процСссоры, ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Π΅ устройства ΠΈ Ρ‚.ΠΏ.).
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° интСграция Π² ядро MPTCP (MultiPath TCP), Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TCP для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ TCP-соСдинСния с доставкой ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ нСскольким ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π½Ρ‹Π΅ сСтСвыС интСрфСйсы, привязанныС ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ IP-адрСсам. Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° адрСсов Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ fullmesh.
    • Π’ netfilter Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ сСтСвых ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², инкапсулированных Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SRv6 (Segment Routing IPv6).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° sockmap для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Unix-сокСтов.
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ amdgpu Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° APU Cyan Skillfish (оснащСны GPU Navi 1x). Для APU Yellow Carp Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ΄Π΅ΠΊΠΎΠ². Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU Aldebaran. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΊΠ°Ρ€Ρ‚ Π½Π° Π±Π°Π·Π΅ GPU Navi 24 «Beige Goby» ΠΈ RDNA2. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ рСализация Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… экранов (VKMS). Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° отслСТивания Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Ρ‡ΠΈΠΏΠΎΠ² AMD Zen 3.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ amdkfd (для дискрСтных GPU, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Polaris) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ раздСляСмой Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти (SVM, shared virtual memory) Π½Π° Π±Π°Π·Π΅ подсистСмы HMM (Heterogeneous memory management), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ устройства с собствСнными Π±Π»ΠΎΠΊΠ°ΠΌΠΈ управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (MMU, memory management unit), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ основной памяти. Π’ Ρ‚ΠΎΠΌ числС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ HMM ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ совмСстноС адрСсноС пространство ΠΌΠ΅ΠΆΠ΄Ρƒ GPU ΠΈ CPU, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ GPU ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ основной памяти процСсса.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ i915 для Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ Intel Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° управлСния Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ TTM ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния энСргопотрСблСниСм Π½Π° Π±Π°Π·Π΅ GuC (Graphics micro Controller). ΠΠ°Ρ‡Π°Π»Π°ΡΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ графичСской ΠΊΠ°Ρ€Ρ‚Ρ‹ Intel ARC Alchemist ΠΈ GPU Intel Xe-HP.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ nouveau Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ подсвСткой ΠΏΠ°Π½Π΅Π»Π΅ΠΉ eDP ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ DPCD (DisplayPort Configuration Data).
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ msm Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU Adreno 7c Gen 3 ΠΈ Adreno 680.
    • Для Ρ‡ΠΈΠΏΠ° Apple M1 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ IOMMU.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для систСм Π½Π° Π±Π°Π·Π΅ APU AMD Van Gogh.
    • Π’ Π²Π΅Ρ‚ΠΊΡƒ staging Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Realtek R8188EU, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΌΠ΅Π½ΠΈΠ» собой старый Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° (rtl8188eu) для бСспроводных Ρ‡ΠΈΠΏΠΎΠ² Realtek RTL8188EU 802.11 b/g/n.
    • Π’ состав принят Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ocp_pt для Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Meta (Facebook) PCIe-ΠΏΠ»Π°Ρ‚Ρ‹ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Ρ‹Ρ… Π°Ρ‚ΠΎΠΌΠ½Ρ‹Ρ… часов ΠΈ GNSS-рСсивСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ обособлСнных сСрвСров синхронизации Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° смартфонов Sony Xperia 10II (Snapdragon 665), Xiaomi Redmi 2 (Snapdragon MSM8916), Samsung Galaxy S3 (Snapdragon MSM8226), Samsung Gavini/Codina/Kyle.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ARM SoΠ‘ ΠΈ ΠΏΠ»Π°Ρ‚ NVIDIA Jetson TX2 NX Developer Kit, Sancloud BBE Lite, PicoITX, DRC02, SolidRun SolidSense, SKOV i.MX6, Nitrogen8, Traverse Ten64, GW7902, Microchip SAMA7, ualcomm Snapdragon SDM636/SM8150, Renesas R-Car H3e-2G/M3e-2G, Marvell CN913x, ASpeed AST2600 (сСрвСрныС ΠΏΠ»Π°Ρ‚Ρ‹ Facebook Cloudripper, Elbert ΠΈ Fuji), 4KOpen STiH418-b2264.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° LCD-ΠΏΠ°Π½Π΅Π»Π΅ΠΉ Gopher 2b, EDT ETM0350G0DH6/ETMV570G2DHU, LOGIC Technologies LTTD800480070-L6WH-RT, Multi-Innotechnology MI1010AIT-1CP1, Innolux EJ030NA 3.0, ilitek ili9341, E Ink VB3300-KCA, Samsung ATNA33XC20, Samsung DB7430, WideChips WS2401.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ LiteETH с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ethernet-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… SoC LiteX (для FPGA).
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ usb-audio Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция lowlatency для управлСния Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция quirk_flags для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ спСцифичных для устройства настроСк.

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ латиноамСриканский Π€ΠΎΠ½Π΄ свободного ПО сформировал Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ свободного ядра 5.15 — Linux-libre 5.15-gnu, ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ элСмСнтов ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², содСрТащих нСсвободныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ участки ΠΊΠΎΠ΄Π°, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²Ρ‹Π²ΠΎΠ΄ сообщСния Π² Π»ΠΎΠ³ ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ чистки. УстранСны ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ формирования ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с использованиСм mkspec, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² snap. Π£Π±Ρ€Π°Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдупрСТдСния, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° firmware.h. Π Π°Π·Ρ€Π΅ΡˆΡ‘Π½ Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ («format-extra-args», ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅) ΠΏΡ€ΠΈ сборкС Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ «-Werror». Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° чистка Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° gehc-achc. ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½ ΠΊΠΎΠ΄ чистки Π±Π»ΠΎΠ±ΠΎΠ² Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… ΠΈ подсистСмах adreno, btusb, btintel, brcmfmac, aarch64 qcom. ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° чистка Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² prism54 (ΡƒΠ΄Π°Π»Ρ‘Π½) ΠΈ rtl8188eu (Π·Π°ΠΌΠ΅Π½Ρ‘Π½ Π½Π° r8188eu).

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

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