Планировщик Linux 7.3: помощь играм, гибридным CPU и снижение задержек
В окно слияния ядра Linux 7.3 вошёл насыщенный набор изменений планировщика задач. Разработчики обещают выигрыш в производительности для игр, более аккуратную работу с гибридными процессорами и снижение задержек.
«Расплющить выбор» ради игр
Основная часть — серия патчей инженера Intel Петера Зейлстры, направленная на планирование через cgroup. По словам авторов, эта подсистема исторически была источником боли и странного поведения — например, неправильной обработки задач с изменённым приоритетом (renice). Новый подход, названный «flatten the pick», добавляет несколько методов распределения весов через параметр cgroup_mode: up, max, concur и tasks. По умолчанию выбран concur — самый точный, но и самый затратный вариант. Планирование cgroup при этом переведено на единую очередь выполнения.
На практике серия заметно помогает играм на старом «картофельном» железе: тестирование проводилось на связке процессора Intel Sandy Bridge и видеокарты AMD Radeon RX 580 (Polaris), и результаты в публикации называют весьма многообещающими.
Меньше задержек и внимание к гибридам
Отдельный блок изменений снижает задержку планирования для задач с коротким временным слотом. Венсан Гитто продемонстрировал значительный прогресс в тесте cyclictest, который как раз измеряет отклик системы реального времени.
Кроме того, в 7.3 попало важное исправление для кластерного планирования на процессорах с асимметричной производительностью ядер — то есть на гибридных чипах Intel. Об этой работе Phoronix писал ранее в контексте улучшенной балансировки нагрузки между кластерами.
Наконец, ради более эффективного распределения нагрузки планировщик теперь предпочитает полностью простаивающие ядра при балансировке в режиме NOHZ. В пул-реквест вошёл и ряд других, менее крупных правок кода.
Источник: Phoronix
Комментарии
Войдите, чтобы комментировать.