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

ПослС Π΄Π²ΡƒΡ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ прСдставил Ρ€Π΅Π»ΠΈΠ· ядра Linux 5.2. Π‘Ρ€Π΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ext4 Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° рСгистра символов, Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ для монтирования Π€Π‘, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для GPU Mali 4xx/ 6xx/7xx, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ измСнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ sysctl Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… BPF, device-mapper ΠΌΠΎΠ΄ΡƒΠ»ΡŒ dm-dust, Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Π°Ρ‚Π°ΠΊ MDS, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Sound Open Firmware для DSP, оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ BFQ, Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ подсистСмы PSI (Pressure Stall Information) Π΄ΠΎ возмоТности использования Π² Android.

Π’ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ принято 15100 исправлСний ΠΎΡ‚ 1882 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²,
Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Ρ‚Ρ‡Π° — 62 Мб (измСнСния Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ 30889 Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 625094 строк ΠΊΠΎΠ΄Π°, ΡƒΠ΄Π°Π»Π΅Π½ΠΎ 531864 строк). Около 45% всСх прСдставлСнных Π² 5.2
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ связаны с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ устройств, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 21% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚
ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ обновлСнию ΠΊΠΎΠ΄Π° спСцифичного для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, 12%
связано с сСтСвым стСком, 3% — Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами ΠΈ 3% c Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ
подсистСмами ядра. 12.4% всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Intel, 6.3% — Red Hat, 5.4% — Google, 4.0% — AMD, 3.1% — SUSE, 3% — IBM, 2.7% — Huawei, 2.7% — Linaro, 2.2% — ARM, 1.6% — Oracle.

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

  • Дисковая подсистСма, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы
    • Для Ext4 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π΅Π· различия рСгистра символов Π² ΠΈΠΌΠ΅Π½Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², которая активируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² привязкС ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ пустым ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° «+F» (EXT4_CASEFOLD_FL). ΠŸΡ€ΠΈ установкС Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° рСгистра символов, Π² Ρ‚ΠΎΠΌ числС рСгистр Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ опСрациях поиска ΠΈ открытия Ρ„Π°ΠΉΠ»ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„Π°ΠΉΠ»Ρ‹ Test.txt, test.txt ΠΈ test.TXT Π² ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π€Π‘ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ рСгистрозависимой, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ «chattr +F»;
    • Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ символов UTF-8 Π² ΠΈΠΌΠ΅Π½Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ сравнСния ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ строк;
    • Π’ XFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° инфраструктура для отслСТивания состояния Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ ioctl для запроса статуса работоспособности. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Π»Π΅Ρ‚Ρƒ (online scrub) счётчиков супСрблока.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ device-mapper «dm-dust«, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ появлСниС bad-Π±Π»ΠΎΠΊΠΎΠ² Π½Π° носитСлС ΠΈΠ»ΠΈ ошибок ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ с диска. ΠœΠΎΠ΄ΡƒΠ»ΡŒ позволяСт ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ тСстированиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСм хранСния Π² условиях Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ появлСния сбоСв;
    • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° BFQ. Π’ условиях высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ внСсённыС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄ΠΎ 80% ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠ°ΠΊ запуск ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° сСрия систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² для монтирования Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм: fsopen(), open_tree(), fspick(), fsmount(), fsconfig() ΠΈ move_mount(). Π”Π°Π½Π½Ρ‹Π΅ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ стадии монтирования (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ супСрблок, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π€Π‘, ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΠΊ Ρ‚ΠΎΡ‡ΠΊΠ΅ монтирования), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ систСмного Π²Ρ‹Π·ΠΎΠ²Π° mount(). Π Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС сцСнарии монтирования ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ пСрСнастройка супСрблока, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΉ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ монтирования ΠΈ пСрСнос Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ пространство ΠΈΠΌΡ‘Π½. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° позволяСт Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠ΄ΠΎΠ² ошибок ΠΈ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ нСсколько источников для многослойных Π€Π‘, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ overlayfs;
    • Π’ интСрфСйс для асинхронного Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° io_uring Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая опСрация IORING_OP_SYNC_FILE_RANGE, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ дСйствия, эквивалСнтныС систСмному Π²Ρ‹Π·ΠΎΠ²Ρƒ sync_file_range(), Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ рСгистрации eventfd с io_uring ΠΈ получСния ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ;
    • Для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы CIFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ioctl FIEMAP, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ эффСктивноС cопоставлСниС экстСнтов, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² SEEK_DATA ΠΈ SEEK_HOLE;
    • Π’ подсистСмС FUSE ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ API для управлСния ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…;
    • Π’ Btrfs ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ qgroups ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния fsync для Ρ„Π°ΠΉΠ»ΠΎΠ² с нСсколькими ТСсткими ссылками. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠžΠ—Π£ ΠΏΠ΅Ρ€Π΅Π΄ сбросом Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° диск;
    • Π’ CEPH Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° экспорта ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· NFS;
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° рСализация монтирования NFSv4 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ «soft» (ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ошибки доступа ΠΊ сСрвСру Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ «soft» Π²Ρ‹Π·ΠΎΠ² Π² сразу Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ошибки, Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ «hard» ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ отдаётся Π΄ΠΎ возобновлСния доступности Π€Π‘ ΠΈΠ»ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°). Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС обСспСчСна Π±ΠΎΠ»Π΅Π΅ точная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°, ускорСно восстановлСниС послС сбоя ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая опция монтирования «softerr», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ошибки (ETIMEDOUT), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ наступлСния Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°;
    • Π’ API nfsdcld, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΌ для отслСТивания состояния ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² NFS, обСспСчСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ отслСТивания NFS-сСрвСром состояния ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄Π΅ΠΌΠΎΠ½ nfsdcld Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° nfsdcltrack;
    • Для AFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° эмуляция Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π΄Π°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π±Π°ΠΉΡ‚ Π² Ρ„Π°ΠΉΠ»Π°Ρ… (Byte Range Locking);
  • Виртуализация ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ мСст Π² ядрС, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ· доступных Π½Π° запись ΠΎΡ‚Ρ€Π°ΠΆΡ‘Π½Π½Ρ‹Ρ… областСй памяти, Ρ‡Ρ‚ΠΎ позволяСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±Ρ€Π΅ΡˆΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ эксплуатированы ΠΏΡ€ΠΈ Π°Ρ‚Π°ΠΊΠ΅;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ядра «mitigations=», ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½Ρ‹ΠΉ способ управлСния Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΈΠΊ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ уязвимостСй, связанных со спСкулятивным Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ инструкций Π² CPU. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° «mitigations=off» Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π° примСняСмый ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π΅ΠΆΠΈΠΌ «mitigations=auto» Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ, Π½ΠΎ Π½Π΅ влияСт Π½Π° использованиС Hyper Threading. Π Π΅ΠΆΠΈΠΌ «mitigations=auto,nosmt» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Hyper Threading, Ссли Ρ‚ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ‰ΠΈΡ‚Ρ‹.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° элСктронной Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи ΠΏΠΎ Π“ΠžΠ‘Π’ Π  34.10-2012 (RFC 7091, ISO/IEC 14888-3), разработанная Π’ΠΈΡ‚Π°Π»ΠΈΠ΅ΠΌ Π§ΠΈΠΊΡƒΠ½ΠΎΠ²Ρ‹ΠΌ ΠΈΠ· «Π‘Π°Π·Π°Π»ΡŒΡ‚ БПО». Π’ΠΎ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ TLS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° AES128-CCM. Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ crypto_simd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² AEAD;
    • Π’ Kconfig Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ сСкция «kernel hardening» с опциями для усилСния Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ядра. Π’ настоящСС врСмя Π² Π½ΠΎΠ²ΠΎΠΉ сСкции ΠΏΠΎΠΊΠ° собраны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ настройки для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΡΠΈΠ»ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ GCC-ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²;
    • Код ядра ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΈΠ·Π±Π°Π²Π»Π΅Π½ ΠΎΡ‚ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ casΠ΅ Π² switch (Π±Π΅Π· return ΠΈΠ»ΠΈ break послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° case). ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ 32 ΠΈΠ· 2311 случая ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ использования switch, послС Ρ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈ сборкС ядра ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ «-Wimplicit-fallthrough»;
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ PowerPC Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ограничСния Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ доступа ядра ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠΎΠ΄ для блокирования Π°Ρ‚Π°ΠΊ класса MDS (Microarchitectural Data Sampling) Π² процСссорах Intel. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ систСмы уязвимости ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· SysFS-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ «/sys/devices/system/cpu/vulnerabilities/mds». Доступно Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹: ΠΏΠΎΠ»Π½Ρ‹ΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ наличия ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Π°, ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ очистку Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² CPU ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ управлСния Π² пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ гостСвой систСмС. Для управлСния Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π² ядро Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «mds=», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния «full», «full,nosmt» (+ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Hyper-Threads) ΠΈ «off»;
    • На систСмах x86-64 для IRQ, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° «stack guard-page», ΡΡƒΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² подстановкС Π½Π° Π³Ρ€Π°Π½ΠΈΡ†Π΅ со стСком страниц памяти, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (page-fault);
    • Π”ΠΎΠ±Π°Π²Π΄Π΅Π½Π° sysctl-настройка vm.unprivileged_userfaultfd, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ использования систСмного Π²Ρ‹Π·ΠΎΠ²Π° userfaultfd() Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ процСссами;
  • БСтСвая подсистСма
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° шлюзов IPv6 для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² IPv4. НапримСр, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΈΠ΄Π° «ip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0»;
    • Для ICMPv6 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ioctl-Π²Ρ‹Π·ΠΎΠ²Ρ‹ icmp_echo_ignore_anycast ΠΈ icmp_echo_ignore_multicast для игнорирования ICMP ECHO для anycast ΠΈ
      multicast адрСсов. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ограничСния интСнсивности ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ICMPv6;

    • Для mesh-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° B.A.T.M.A.N. («Better Approach To Mobile Adhoc Networking), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ сСти, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠ·Π΅Π» Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… связан Ρ‡Π΅Ρ€Π΅Π· сосСдниС ΡƒΠ·Π»Ρ‹, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° трансляции ΠΈΠ· multicast Π² unicast, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния Ρ‡Π΅Ρ€Π΅Π· sysfs;
    • Π’ ethtool Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Fast Link Down, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя поступлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ событии ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π»ΠΈΠ½ΠΊΠ° для 1000BaseT (Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… условиях Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° составляСт Π΄ΠΎ 750ms);
    • Появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ привязки Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ Foo-Over-UDP ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ адрСсу, сСтСвому интСрфСйсу ΠΈΠ»ΠΈ сокСту (Ρ€Π°Π½Π΅Π΅ привязка ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ±Ρ‰Π΅ΠΉ маскС);
    • Π’ бСспроводном стСкС обСспСчСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²
      OWE (Opportunistic Wireless Encryption) Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ;

    • Π’ Netfilter Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ nat Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСмСйства адрСсов inet (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ трансляции для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ipv4 ΠΈ ipv6, Π±Π΅Π· раздСлСния ΠΏΡ€Π°Π²ΠΈΠ» для ipv4 ΠΈ ipv6);
    • Π’ netlink Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ strict для Тёсткой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ коррСктности всСх сообщСний ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ допускаСтся ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ½Ρ†Π΅ сообщСний;
  • ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΈ систСмныС сСрвисы
    • Π’ систСмный Π²Ρ‹Π·ΠΎΠ² clone() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„Π»Π°Π³ CLONE_PIDFD, ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ процСссу возвращаСтся Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… дСскриптор «pidfd», отоТдСствлённый с созданным Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ процСссом. Π”Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сигналов Π±Π΅Π· опасСния ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с состояниСм Π³ΠΎΠ½ΠΊΠΈ (сразу послС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сигнала Ρ†Π΅Π»Π΅Π²ΠΎΠΉ PID ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ освобоТдён ΠΈΠ·-Π·Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСсса ΠΈ занят Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссом);
    • Для Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии cgroups Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° freezer, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² cgroup ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ рСсурсы (CPU, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒ) для выполнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ производится Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ cgroup.freeze ΠΈ cgroup.events Π² Π΄Π΅Ρ€Π΅Π²Π΅ cgroup. Π—Π°ΠΏΠΈΡΡŒ 1 Π² cgroup.freeze Π·Π°ΠΌΠΎΡ€Π°ΠΆΠΈΠ²Π°Π΅Ρ‚ процСссы Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ cgroup ΠΈ всСх Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏΠ°Ρ…. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°ΠΌΠΎΡ€ΠΎΠ·ΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Ρ„Π°ΠΉΠ» cgroup.events Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ;
    • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ экспорт Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² памяти, ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½ΠΎΠΉ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡƒΠ·Π»Ρƒ Π² sysfs, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ· пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Π°Π½ΠΊΠΎΠ² памяти Π² систСмах с Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ;
    • Π”ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π° подсистСма PSI (Pressure Stall Information), которая позволяСт ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оТидания получСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… рСсурсов (CPU, ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄) для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ΠΎΠ² процСссов Π² cgroup. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ PSI ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠ³ΡƒΡ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ загруТСнности систСмы ΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ замСдлСния Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Load Average. Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° настройки ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ² Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² poll() для получСния увСдомлСния ΠΎ срабатывании установлСнных ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Данная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ позволяСт ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Android отслСТиваниС Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ памяти Π½Π° Ρ€Π°Π½Π½Π΅ΠΉ стадии, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ источник ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ Π½Π΅Π²Π°ΠΆΠ½Ρ‹Π΅ прилоТСния, Π½Π΅ доводя Π΄ΠΎ появлСния Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. ΠŸΡ€ΠΈ стрСсс-тСстировании срСдства ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° потрСблСния памяти Π½Π° основС PSI продСмонстрировали с 10 Ρ€Π°Π· мСньшС Π»ΠΎΠΆΠ½Ρ‹Ρ… срабатываний ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ со статистикой vmpressure;
    • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация ΠΊΠΎΠ΄Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ стал Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π΄ΠΎ 20 Ρ€Π°Π· быстрСС. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Π»ΠΈΠΌΠΈΡ‚ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с 4096 Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° инструкций;
    • Для BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ прСдоставлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступа ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ константы;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ API, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ измСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² sysctl;
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ MIPS32 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ JIT-компилятор для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ eBPF;
    • Для 32-разрядной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ PowerPC Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ инструмСнта KASan (Kernel address sanitizer), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ выявлСниС ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ;
    • На систСмах x86-64 снято ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ Π΄Π°ΠΌΠΏΠΎΠ² состояния ΠΏΡ€ΠΈ ΠΊΡ€Π°Ρ…Π΅ ядра (crash-dump) Π² областях памяти Π²Ρ‹ΡˆΠ΅ 896MB;
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ s390 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ адрСсного пространства ядра (KASLR) ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ядра Ρ‡Π΅Ρ€Π΅Π· kexec_file_load();
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ PA-RISC Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ядра (KGDB), ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΈ kprobes;
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Π’ состав Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Lima для GPU Mali 400/450, примСняСмого Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… старых Ρ‡ΠΈΠΏΠ°Ρ… Π½Π° основС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM. Для Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… GPU Mali Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Panfrost, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ‡ΠΈΠΏΡ‹ Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) ΠΈ Bifrost (Mali G3x, G5x, G7x);
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… устройств, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Sound Open Firmware (SOF). НСсмотря Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ для Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… Ρ‡ΠΈΠΏΠΎΠ² Π΄ΠΎ сих ΠΏΠΎΡ€ оставался Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΈ поставлялся Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Sound Open Firmware Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Intel для создания ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ для DSP-Ρ‡ΠΈΠΏΠΎΠ², связанных с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π·Π²ΡƒΠΊΠ° (ΠΏΠΎΠ·Π΄Π½Π΅Π΅ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΡΡ Google). Π’ настоящСС врСмя Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ для Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… Ρ‡ΠΈΠΏΠΎΠ² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake ΠΈ IceLake;
    • Π’ DRM-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Intel (i915) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‡ΠΈΠΏΠΎΠ²
      Elkhartlake (Gen11). Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ PCI-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ для Ρ‡ΠΈΠΏΠΎΠ² Comet Lake (Gen9). Π‘Ρ‚Π°Π±ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‡ΠΈΠΏΠΎΠ² Icelake, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ PCI-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ устройств.
      Π’ΠΊΠ»ΡŽΡ‡Ρ‘Π½
      Ρ€Π΅ΠΆΠΈΠΌ асинхронного ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π±ΡƒΡ„Π΅Ρ€Π°ΠΌΠΈ Π² видСопамяти (async flip) ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи Ρ‡Π΅Ρ€Π΅Π· mmio, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 3D-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² тСстС 3DMark Ice Storm ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»Π°ΡΡŒ Π½Π° 300-400%). Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ HDCP2.2 (High-bandwidth Digital Content Protection) для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ видСосигнала, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ‡Π΅Ρ€Π΅Π· HDMI;

    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ amdgpu для GPU Vega20 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° RAS (Reliability, Availability, Serviceability) ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° подсистСмы SMU 11, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅ΠΉ Π½Π° смСну Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Powerplay. Для GPU Vega12 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅ΠΆΠΈΠΌΠ° BACO (Bus Active, Chip Off). Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° XGMI, высокоскоростной ΡˆΠΈΠ½Ρ‹ (PCIe 4.0) для соСдинСния GPU. Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ amdkfd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΊΠ°Ρ€Ρ‚ Π½Π° Π±Π°Π·Π΅ GPU Polaris10;
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Nouveau Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Ρ‚ Π½Π° основС чипсСта NVIDIA Turing 117 (TU117, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² GeForce GTX 1650). Π’
      kconfig Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° настройка для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… выпусках libdrm;

    • Π’ API DRM ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ amdgpu Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² синхронизации «timeline», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· классичСских Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ.
    • Из Π²Π΅Ρ‚ΠΊΠΈ staging Π² основной состав пСрСнСсён Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ vboxvideo для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ GPU VirtualBox;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ aspeed для GFX Ρ‡ΠΈΠΏΠ° SoC ASPEED;
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ARM SoC ΠΈ ΠΏΠ»Π°Ρ‚ Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, ,Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi RK3399, Nanopi NEO4, Veyron-Mighty Chromebook), Amlogic: SEI Robotics SEI510,
      ST Micro (stm32mp157a, stm32mp157c), NXP (
      Eckelmann ci4x10 (i.MX6DL),

      i.MX8MM EVK (i.MX8MM),

      ZII i.MX7 RPU2 (i.MX7),

      ZII SPB4 (VF610),

      Zii Ultra (i.MX8M),

      TQ TQMa7S (i.MX7Solo),

      TQ TQMa7D (i.MX7Dual),

      Kobo Aura (i.MX50),

      Menlosystems M53 (i.MX53)), NVIDIA Jetson Nano (Tegra T210).

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ЛатиноамСриканский Π€ΠΎΠ½Π΄ свободного ПО сформировал
Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ свободного ядра 5.2Linux-libre 5.2-gnu, ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ элСмСнтов ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², содСрТащих нСсвободныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ участки ΠΊΠΎΠ΄Π°, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²
Sound Open Firmware. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π±Π»ΠΎΠ±ΠΎΠ² Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ…
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp ΠΈ ucsi_ccg. ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½ ΠΊΠΎΠ΄ чистки Π±Π»ΠΎΠ±ΠΎΠ² Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… ΠΈ подсистСмах ixp4xx, imx-sdma, amdgpu, nouveau ΠΈ goya, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Ρƒ. ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° чистка Π±Π»ΠΎΠ±ΠΎΠ² Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ r8822be ΠΈΠ·-Π·Π° Π΅Π³ΠΎ удалСния.

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

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