Тип задачи (TT) - это альтернативный планировщик процессора для Linux.
Цель планировщика типа задачи (TT) состоит в том, чтобы обнаружить типы задач на основе их поведения и управления планированием на основе их типов. Есть 5 типов:
Найти описания и правила обнаружения в tasks.ods
Преимущество типов задач состоит в том, чтобы позволить планировщику иметь больше управления и выбрать лучшую задачу для запуска следующего в процессоре.
TT дает RT -задачи Prio -20 в расчетах Vruntime. Это повышает RT -задачи по другим задачам. Правила преодоления - это чисто hrrn, где задачи RT имеют приоритет, поскольку их виды видов являются относительно меньше, чем другие типы. Причина использования HRRN вместо выбора жесткого уровня состоит в том, чтобы сгладить предпосылки и предотвратить любые шансы на голод.
Вам нужно компилировать с CONFIG_SCHED_DEBUG=y . Я добавил поле в вывод задачи информации task_type . Смотрите и используйте ttdebug.sh .
Примеры использования:
ttdebug.sh | grep -i realtime
watch -t "(ttdebug.sh | grep -i interactive)"
watch -t "(ttdebug.sh | egrep -i 'webco|firefox')"
Примечание. Типы задач обнаруживаются на основе их поведения, а не на том, что должно быть. Так что, если Systemd в какой -то момент действовал как задачи в реальном времени и зайдился долго спать, то тип будет в реальном времени, пока он не проснется и не обновит свой тип. Вы можете увидеть много сна, с неправильными типами, потому что в какой -то момент при загрузке они действовали как в реальном времени, CPU_BOUND или любом типе. Эти задачи спят долгое время, поэтому, когда они пробуждают, их тип будет взаимодействовать, у них очень высокая ценность. Так что не беспокойтесь о типе процессов сна.
s kernel.sched_tt_max_lifetime
По умолчанию 22. Это максимальное жизненное время задачи, чтобы нормализовать время их жизни и Vruntime. Подобно Cacule cacule_max_lifetime .
kernel.sched_tt_rt_prio default составляет -20. Диапазон [-20, 19]. В случае, если задачи с типами, отличными от реального времени, голодают из -за приоритетов в реальном времени слишком высоки, вы можете смягчить приоритет задач в реальном времени. -20 является самым высоким, 19 является наименее приоритетом.
kernel.sched_tt_interactive_prio default составляет -10. Диапазон [-20, 19].
kernel.sched_tt_cpu_bound_prio по умолчанию составляет -15. Диапазон [-20, 19].
kernel.sched_tt_batch_prio по умолчанию-19. Диапазон [-20, 19].
kernel.sched_tt_balancer_opt
Это может быть установлено на 4 значения:
Вы можете изменить вариант балансировщика во время выполнения.
kernel.sched_tt_lat_sens_enabled По умолчанию 1. Задержка, чувствительная к задержке, в течение некоторого времени (~ 1 мс) держит процессоры (без задач) в случае входящей задачи в течение этого времени. Это уменьшает задержку, но увеличивает энергопотребление. Если выбран балансировщик питания, то эта опция не имеет эффекта (т.е. отключено, = 0).
kernel.sched_tt_dedicated_cpu_bound_enabled По умолчанию. ЦП может иметь только одну специальную задачу, связанную с процессором.
Телеграмма: https://t.me/tt_sched
Спасибо
Хамад