A "generic" kernel is configured (CONFIG_HZ_250=y and CONFIG_HZ=250 in its config file) to check 250 times per second for "interrupts", i.e., signals emitted by software or, more commonly, by hardware to indicate an event that needs immediate attention. For instance: a key of the keyboard was pressed, the mouse moved, something has to be read or written from/to a disk, the microphone has data to transfer, etc.

A "low-latency" kernel checks those interrupts 1000 times per second (CONFIG_HZ_1000=y and CONFIG_HZ=1000 in its config file): it reacts up to four times faster to those events. Nevertheless, there is a cost: it eats more CPU cycles. In other words, there is a tradeoffs between the "reaction time" (the time it takes to react, i.e., the latency) and the "execution time" (the time it takes to execute some code).

As the name indicates, a generic kernel suits most uses. For some reason, until Trisquel 7, Trisquel was shipping with a low-latency kernel by default. If you updated from Trisquel 7, that is why you have a low-latency kernel.

Reply via email to