El ingeniero de Google, Qais Yousef, lanzó un parche el domingo proponiendo aumentar la frecuencia del temporizador predeterminada del kernel de Linux de 250 Hz a 1000 Hz. El ingeniero de Google cree que la frecuencia predeterminada actual del kernel de Linux puede causar problemas con las decisiones del programador, como intervalos de tiempo imprecisos, retrasos en el equilibrio de carga, retrasos en la actualización de estadísticas y otros problemas relacionados. QaisYousef cree que es mejor que el kernel adopte una frecuencia predeterminada de 1000Hz:

"Una configuración de pantalla común como Android y sistemas de escritorio es 120 Hz. Esto le da a la tarea 8 ms para trabajar. 4 ms es la mitad de ese tiempo, lo que hace que la carga de tomar muy buenas decisiones al despertar sea más pesada de lo necesario. También hace que sea más difícil utilizar el sistema de manera eficiente para mantener un rendimiento/vatio óptimo. Por ejemplo, intentamos definir el margen dinámico de DVFS como una función de TICK porque define el peor escenario para actualizar estadísticas. Un TICK más grande significa que también tenemos que aumentar la frecuencia agresivamente si queremos asegurarnos de que el rendimiento no se vea afectado, pero si la tarea no agota todos los fragmentos, perdemos la oportunidad de utilizar una frecuencia más baja y ahorrar energía.

En general, los plazos de las cargas de trabajo son cada vez más cortos y esto no es exclusivo del proceso de UI.

Creo que HZ_250 es la configuración predeterminada como compensación por la energía de la batería en dispositivos a los que no les gustan los TICKS frecuentes que pueden agotar la batería innecesariamente. Pero por lo que tengo entendido, el estado actual de NOHZ debería ser suficiente para aliviar estas preocupaciones. La reciente incorporación de RCU_LAZY ayuda aún más a mantener TICK más largos en escenarios inactivos.

Como me señaló Saravana, un TICK más largo ayuda indirectamente a la cohesión del temporizador, lo que significa que puede enmascarar problemas con controladores/tareas que requieren sincronización frecuente, evitando la entrada a estados inactivos más profundos (para muchos sistemas, 4 ms es un valor más alto que permite la entrada a estados inactivos más profundos). Pero también se podría argumentar que este es el problema con estos controladores/tareas.

Un TICK más rápido aún puede resultar en una mayor potencia, pero no debido a la actividad de TICK. El sistema responde mejor (como se esperaba) y se espera que las permanencias en frecuencias más altas sean mayores ya que accidentalmente se atascan en frecuencias más bajas. La serie en [1] intenta mejorar el manejo de la velocidad de respuesta por parte del programador y brindar a los usuarios/aplicaciones formas de satisfacer mejor sus necesidades, incluida la opción de no recibir una respuesta adecuada (en la serie anterior, ramup_multiplier es 0)".

La frecuencia del temporizador del kernel de Linux ha sido durante mucho tiempo fuente de debate y opiniones diferentes. Pero ahora la frecuencia principal predeterminada es 1000 Hz en lugar de 250 Hz, lo que parece lógico.

Ahora se envía un parche para cambiar la frecuencia predeterminada para revisión/discusión.