Tickless
# Tickless

Tickless es una tecnología utilizada por el kernel Linux para ahorrar consumo de energía en sistemas portátiles; tradicionalmente, los usuarios avanzados optimizan el uso de dichas baterías mediante la aplicación de parches al kernel, lo cual deja fuera a usuarios noveles que no poseen la pericia necesaria para dichos menesteres.

Con el desarrollo de nuevas versiones, este tema se ha convertido en una necesidad y, a partir de la versión 2.6.21, se introduce una mejora sustancial en la duración de las baterías de los portátiles basándose para ello en un manejo más inteligente de las interrupciones a nivel de kernel para que sólo haga llamadas a la CPU cuando sea realmente necesario;

## Contexto

El kernel Linux usa un temporizador (denominado timer) por cada CPU que utilice el computador en el cual se encuentra instalado. Este temporizador, realiza una variedad de trabajos tales como contabilidad de procesos, calendario de balance de carga, y mantenimiento de sucesos temporales por cada CPU. Por ejemplo, en los kernels viejos, se usa un temporizador, que funciona con una frecuencia de 100HZ, esto es 100 veces por segundo o 1 suceso por 10ms, mientras que en los kernels de series recientes, se eleva la frecuencia a 250Hz, 250 sucesos por segundo o un 1 suceso cada 4ms, hasta llegar a los 1000Hz (1000 sucesos por segundo o un suceso cada 1ms).

## Solución

La solución a este dilema, llega de la mano de kernels iguales o superiores a la versión 2.6.21, en los cuales se reescribe esta funcionalidad y se la denomina, de ahora en adelante, tickless idle.

El tickless idle funciona al mismo nivel del temporizador tradicional con la diferencia de que es capaz de detectar cuando la CPU se encuentra sin hacer nada, idle, y no inspeccionarlo para ahorrar energía.

