Π£Π²ΠΈΠ΄Π΅Π»ΠΎ свСт ядро Linux 5.0

Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΌΠ°ΠΆΠΎΡ€Π½ΠΎΠΉ вСрсии Π΄ΠΎ 5 Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π³Ρ€Π°Π½Π΄ΠΈΠΎΠ·Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΎΠΌΠΎΠΊ совмСстимости. Оно просто ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΌΡƒ Π½Π°ΡˆΠ΅ΠΌΡƒ Линусу Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΡƒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄ΡƒΡˆΠ΅Π²Π½Ρ‹ΠΉ ΠΏΠΎΠΊΠΎΠΉ. НиТС — список Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π².

Π‘Π΅Ρ€Π΄Ρ†Π΅Π²ΠΈΠ½Π° ядра:

  • ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ процСссов CFS Π½Π° асиммСтричных процСссорах Π²Ρ€ΠΎΠ΄Π΅ ARM Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ½Π°Ρ‡Π΅ — ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΌΠ°Π»ΠΎΠΌΠΎΡ‰Π½Ρ‹Π΅ ΠΈ энСргоэффСктивныС ядра.
  • Π§Π΅Ρ€Π΅Π· API отслСТивания Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… событий fanotify ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ увСдомлСния ΠΎΠ± ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° Π½Π° исполнСниС.
  • Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ cpuset, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ процСссов ΠΏΠΎ использованию CPU ΠΈ ΡƒΠ·Π»ΠΎΠ² NUMA.
  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ARM-устройств: Qualcomm QCS404, Allwinner T3, NXP/Freescale i.MX7ULP, NXP LS1028A, i.MX8, RDA Micro RDA8810PL, Rockchip Gru Scarlet, Allwinner Emlid Neutis N5, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ….
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² подсистСмС ARM: горячСС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ памяти, Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Meltdown ΠΈ Spectre, 52-битная адрСсация памяти, ΠΈ Π΄Ρ€.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° инструкции WBNOINVD для x86-64.

ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° памяти:

  • Для инструмСнта KASAN Π½Π° ARM64-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… доступна подстановка ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Ρ… Ρ‚Π΅Π³ΠΎΠ² с ΠΌΠ°Π»Ρ‹ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ памяти.
  • ЀрагмСнтация памяти ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ сниТСна (Π΄ΠΎ 90%), Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Transparent HugePage Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅.
  • Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ mremap(2) Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… областях памяти ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° Π΄ΠΎ 20 Ρ€Π°Π·.
  • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ KSM jhash2 Π·Π°ΠΌΠ΅Π½Π΅Π½Π° xxhash, благодаря Ρ‡Π΅ΠΌΡƒ Π½Π° 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… систСмах ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ KSM выросла Π² 5 Ρ€Π°Π·.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² ZRam ΠΈ OOM.

Π‘Π»ΠΎΡ‡Π½Ρ‹Π΅ устройства ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы:

  • ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ blk-mq с ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ систСмой ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ запросов стал основным для Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств. Π’Π΅ΡΡŒ Π½Π΅-mq ΠΊΠΎΠ΄ ΡƒΠ΄Π°Π»Ρ‘Π½.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ NVMe, особСнно Π² ΠΏΠ»Π°Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ устройств Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ.
  • Для Btrfs Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° полноцСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° swap-Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ FSID Π±Π΅Π· пСрСзаписи ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….
  • Π’ F2FS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ioctl-Π²Ρ‹Π·ΠΎΠ² для ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π€Π‘ Ρ‡Π΅Ρ€Π΅Π· fsck.
  • Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° BinderFS — псСвдо-Π€Π‘ для мСТпроцСссного взаимодСйствия. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ нСсколько экзСмпляров Android Π² ΠΎΠ΄Π½ΠΎΠΉ срСдС.
  • Ряд ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ Π² CIFS: кэш DFS, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» smb3.1.1.
  • ZRam ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈΡΡ swap-устройствами, экономя ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ виртуализация:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Ρ…ΡΡˆ-функция Streebog (Π“ΠžΠ‘Π’ 34.11-2012), разработанная Π€Π‘Π‘ Π Π€.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Adiantum, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Google для ΠΌΠ°Π»ΠΎΠΌΠΎΡ‰Π½Ρ‹Ρ… устройств.
  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ XChaCha12, XChaCha20 ΠΈ NHPoly1305.
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² seccomp Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ вынСсти Π² пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • Для гостСвых систСм KVM Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Intel Processor Trace с минимальной просадкой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² подсистСмС KVM/Hyper-V.
  • Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ virtio-gpu ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ симуляции EDID для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠ².
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ virtio_blk Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²Ρ‹Π·ΠΎΠ² discard.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ бСзопасности для NV-памяти, основанных Π½Π° спСцификациях Intel DSM 1.8.

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ устройств:

  • ИзмСнСния Π² DRM API для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ синхронизации (Ρ‡Π°ΡΡ‚ΡŒ стандарта DisplayPort) ΠΈ ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹Ρ… частот обновлСния (Ρ‡Π°ΡΡ‚ΡŒ стандарта HDMI).
  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ стандарт Display Stream Compression для сТатия Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², адрСсованных экранам с высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.
  • Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ AMDGPU Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ FreeSync 2 HDR ΠΈ сброс графичСского процСссора для CI, VI, SOC15.
  • Π’ΠΈΠ΄Π΅ΠΎΠ΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Intel ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‡ΠΈΠΏΠΎΠ² Amber Lake, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² YCBCR 4:2:0 ΠΈ YCBCR 4:4:4.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Nouveau Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ для Π²ΠΈΠ΄ΠΎΠΊΠ°Ρ€Ρ‚ сСмСйства Turing TU104/TU106.
  • Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ тачскрина Raspberry Pi, ΠΏΠ°Π½Π΅Π»Π΅ΠΉ CDTech, Banana Pi, DLC1010GIG ΠΈ Π΄Ρ€.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ HDA доступна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ «jack», LED-ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², устройств Tegra186 ΠΈ Tegra194.
  • ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° Π²Π²ΠΎΠ΄Π° Π½Π°ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с высокоточной ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ΡˆΠ°Ρ… Microsoft ΠΈ Logitech.
  • Масса ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… Π²Π΅Π±ΠΊΠ°ΠΌΠ΅Ρ€, Π’Π’-Ρ‚ΡŽΠ½Π΅Ρ€ΠΎΠ², USB, IIO, ΠΈ Π΄Ρ€.

БСтСвая подсистСма:

  • Π’ стСкС UDP Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° zero-copy для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· сокСт Π±Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • Π’Π°ΠΌ ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Generic Receive Offload.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ поиска Π² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°Ρ… xfrm ΠΏΡ€ΠΈ большом ΠΈΡ… количСствС.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ VLAN Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ.
  • Ряд ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Infiniband ΠΈ бСспроводных сСтСй.

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

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