Hacker News Digest

08 августа 2025 г. в 05:51 • wiki.freebsd.org • ⭐ 97 • 💬 24

OriginalHN

#freebsd#scheduling#hybrid-cpus#intel#arm#big.little#cpuset#energy-efficiency

FreeBSD Scheduling on Hybrid CPUs

Цель
Адаптировать планировщик ULE для гибридных CPU (P- и E-ядер Intel, big.LITTLE ARM), позволяя выбирать приоритет: максимальная производительность, энергоэффективность или баланс.

Проблема
Традиционные cpuset(1) лишь ограничивают, какие ядра разрешены, но не говорят, какие из них предпочтительны. Прямое связывание политик с масками cpuset приводит к жёсткой фиксации и конфликтам при наследовании.

Решение

  • Ввести политики как отдельный параметр, привязанный к cpuset.
  • Дочерние cpuset могут лишь ужесточать политику, а не расширять.
  • Поддержать шкалу «энергоэффективности» 0–100:
    0 = все P-ядра, 100 = только E-ядра, промежуточные значения задают пропорцию.
  • Позволить админу задавать разные политики для разных разделов системы (джейлы, cgroup, NUMA-домены).