Инженер Google Кайс Юсеф в воскресенье выпустил патч, предлагающий увеличить частоту таймера ядра Linux по умолчанию с 250 Гц до 1000 Гц. Инженер Google считает, что текущая частота ядра Linux по умолчанию может вызвать проблемы с решениями планировщика, такие как неточные временные интервалы, задержки балансировки нагрузки, задержки обновления статистики и другие связанные проблемы. КайсЮсеф считает, что ядру лучше использовать частоту по умолчанию 1000 Гц:
В целом сроки выполнения рабочей нагрузки становятся короче, и это характерно не только для конвейера пользовательского интерфейса.
Я считаю, что HZ_250 является настройкой по умолчанию в качестве компромисса для заряда батареи в устройствах, которым могут не нравиться частые ТИКИ, которые могут без необходимости разряжать батарею. Но, насколько я понимаю, текущего статуса NOHZ должно быть достаточно, чтобы смягчить эти опасения. Недавнее добавление RCU_LAZY дополнительно помогает поддерживать более длинные TICK в сценариях простоя.
Как указал мне Саравана, более длинный TICK косвенно помогает связности таймера, то есть может маскировать проблемы с драйверами/задачами, требующими частого синхронизации, предотвращая переход в более глубокие состояния простоя (для многих систем 4 мс — это более высокое значение, позволяющее переходить в более глубокие состояния простоя). Но можно также утверждать, что это проблема этих драйверов/задач.
Более быстрый TICK все равно может привести к увеличению мощности, но не из-за активности TICK. Система более отзывчива (как и ожидалось) и задержка на более высоких частотах, как ожидается, будет выше, поскольку они случайно застревают на более низких частотах. В сериях из [1] делается попытка улучшить обработку планировщиком скорости ответа и предоставить пользователям/приложениям способы лучше удовлетворить их потребности, включая отказ от адекватного ответа (в приведенной выше серии ramup_multiplier равен 0)».
Частота таймера ядра Linux уже давно является источником споров и различных мнений. Но теперь частота ядра по умолчанию составляет 1000 Гц вместо 250 Гц, что кажется логичным.
Исправление для изменения частоты по умолчанию отправлено на рассмотрение/обсуждение.