Π’ ядрС Linux появится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования eBPF для создания ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² Π·Π°Π΄Π°Ρ‡

Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ Π²Ρ‹Ρ€Π°Π·ΠΈΠ» Π³ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π² состав ядра Linux 6.11, Ρ€Π΅Π»ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ оТидаСтся Π² ΠΊΠΎΠ½Ρ†Π΅ сСнтября, ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° «sched_ext» (SCX), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ eBPF для создания ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² CPU, ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… практичСски всС аспСкты планирования выполнСния Π·Π°Π΄Π°Ρ‡ ΠΈ распрСдСлСния рСсурсов CPU. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ динамичСски ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ ядра Linux Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС eBPF, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ, благодаря ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ JIT-компиляции, Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄ транслируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции ΠΈ выполняСтся с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ скомпилированного ΠΊΠΎΠ΄Π°.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‡ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ класс планирования SCHED_EXT, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выставлСн ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° ядром ΠΌΠ΅ΠΆΠ΄Ρƒ классами SCHED_IDLE ΠΈ SCHED_NORMAL, Ρ‡Ρ‚ΠΎ Π½Π΅ позволяСт Π² BPF-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ…, привязанных ΠΊ SCHED_EXT, ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ, ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½Ρ‹Π΅ ΠΊ ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΡƒ Π·Π°Π΄Π°Ρ‡ (SCHED_NORMAL), Π½ΠΎ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прикрСплСния ΠΊ SCHED_EXT ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈΠ»ΠΈ пСрСмСщСния для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ всСх процСссов, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½ΠΈΠΆΠ΅ выполнСния Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Если ΠΊ SCHED_EXT Π½Π΅ привязаны BPF-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Ρ‚ΠΎ всС процСссы, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Π΅ Π² класс SCHED_EXT, Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° SCHED_NORMAL. Π Π°Π±ΠΎΡ‚Π° BPF-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² сводится с Ρ€Π°Π·Π±ΠΎΡ€Ρƒ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ Π·Π°Π΄Π°Ρ‡, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… выполнСния Π½Π° CPU (ΠΎΠ΄Π½Π° глобальная ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π½Π° ядро CPU), ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ рСсурсы CPU ΠΏΡ€ΠΈ освобоТдСнии ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ ядра CPU.

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

Π’ настоящСС врСмя ΡƒΠΆΠ΅ развиваСтся ΠΎΠΊΠΎΠ»ΠΎ дСсятка ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² Π½Π° Π±Π°Π·Π΅ sched_ext, Π»ΠΎΠ³ΠΈΠΊΠ° планирования Π·Π°Π΄Π°Ρ‡ Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… опрСдСляСтся Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ загруТаСтся Π² ядро Π² Ρ„ΠΎΡ€ΠΌΠ΅ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ:

  • scx_layered — Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π·Π°Π΄Π°Ρ‡, Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° слои, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… примСняСтся своя стратСгия планирования. НапримСр, scx_layered позволяСт Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ слой Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ прСдоставлСны ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ рСсурсы CPU, ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ развиваСтся ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Meta. Π Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π»ΠΎΠ³ΠΈΠΊΠ° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ BPF написана Π½Π° языкС Rust.
  • scx_rustland — ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π½Π° Ρ„ΠΎΠ½Π΅ Π·Π°Π΄Π°Ρ‡, интСнсивно Π½Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΡ… CPU. НапримСр, Π² тСстС запуска ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния Terraria ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ со сборкой ядра ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ scx_rustland ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π² ΠΈΠ³Ρ€Π΅ Π±ΠΎΠ»Π΅Π΅ высокого FPS, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ использовании ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° EEVDF. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ развиваСтся сотрудником ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Canonical. Π Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π»ΠΎΠ³ΠΈΠΊΠ° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ BPF написана Π½Π° языкС Rust.
  • scx_lavd — Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° планирования Π·Π°Π΄Π°Ρ‡ LAVD (Latency-criticality Aware Virtual Deadline), ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сниТСния Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ…ΠΎΠ΄Π΅ выполнСния процСссов ΠΏΡ€ΠΈ принятии Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΎ распрСдСлСнии рСсурсов CPU. ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ развиваСтся компаниями Igalia ΠΈ Valve для сниТСния Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ… ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ…. Π Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π»ΠΎΠ³ΠΈΠΊΠ° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ BPF написана Π½Π° языкС Rust.
  • scx_rusty, scx_rlfifo, scx_mitosis — ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° языкС Rust, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ балансировку ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ Π·Π°Π΄Π°Ρ‡ Π² зависимости ΠΎΡ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ FIFO-ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ для привязки Π³Ρ€ΡƒΠΏΠΏ Π·Π°Π΄Π°Ρ‡ ΠΊ ядрам CPU.
  • scx_central, scx_flatcg, scx_nest, scx_pair, scx_qmap, scx_simple, scx_userland — ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² c ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° языкС Π‘ΠΈ, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ возмоТности sched-ext.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ sched_ext Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ для рассмотрСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ядра Π² 2022 Π³ΠΎΠ΄Ρƒ, послС Ρ‡Π΅Π³ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ ΡˆΠ΅ΡΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ ΠΏΠ°Ρ‚Ρ‡Π°. НСсмотря Π½Π° отсутствиС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² основном составС ядра, для дистрибутивов Ubuntu, Arch Linux, Fedora ΠΈ NixOS прСдоставлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ установки sched_ext Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. Компания Canonical рассматриваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² sched-ext Π² состав Ubuntu 24.10, Π° компания Valve Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ sched_ext Π² Steam Deck. Π’ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Meta ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π½Π° Π±Π°Π·Π΅ sched_ext ΡƒΠΆΠ΅ примСняСтся Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ инфраструктурС.

Компания Google экспСримСнтируСт с использованиСм собствСнного Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ghOSt, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’ настоящСС врСмя Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ghOSt Π½Π° sched_ext. Google Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΡ€Ρ‚ sched_ext для ChromeOS с Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для задСйствования Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° scx_layered для сокращСния Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ Π±Π΅Π· использования Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Компания Oculus Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΡ€Ρ‚ sched_ext для Android.

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