Anyone else running the low latency kernel?
uname -a
Linux HP-Laptop 5.15.0-58-lowlatency #64~20.04.1-Ubuntu SMP PREEMPT Fri Jan 6 18:45:25 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
It's the same kernel version as the generic kernel I was using before (newer kernels don't support ZFS sufficiently yet), but:
-
Boot is a bit faster (except for ZFS pool importing is a bit slower).
-
The CPU usage is a bit lower, so the CPU idles at a lower temperature.
-
Applications open a bit faster, notably SRWare Iron opened in about 3/4th the time of the generic kernel, and there's none of the very, very slight keyboard lag of the generic kernel when typing my password into websites.
I think that's because the low latency kernel threads IRQs by default, so they can be preempted; dynamic preemption is enabled throughout the kernel:
grep PREEMPT_DYNAMIC /boot/config-$(uname -r)
CONFIG_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
... and that dynamic preemption improves throughput!
Table 1. Throughput Test: dbench Runs
Kernel | Throughput |
---|---|
2.5.2 | 24.3813 MB/s |
2.5.2-preempt | 28.5920 MB/s |
The timer frequency is also higher (1000 Hz vs. 250 Hz for generic); so with a many-core CPU, everything just works better. As CPUs gain more cores, the context-switching cost per core goes down, so naturally throughput increases as compared to lower core-count CPUs.
All-around, it just feels more responsive and quicker.