friendica (DFRN) - Link to source

Tickless Kernels


I use tickless kernels built from upstream sources on kernel.org in my own organization. Tickless kernels are especially valuable for laptops where wasted CPU cycles equal wasted battery life and on servers hosting virtual machines where all the time spent wasted on clock interrupts where no work is scheduled adds up to a significant portion of CPU cycles on the host machine. The downside to tickless kernels is there might be slightly more latency but not enough to affect audio or video on workstations as near as I can tell.

These kernels are available at eskimo.com/kernel/linux-(versi…

These Linux kernels are provided with no warantee. Use them only if you agree to accept all risk for any damage to your machine or it's contents.

The are several differences between these kernels and those provided by Ubuntu, Debian, Mint, Redhat, etc.

First, these are all upstream kernels, they have no vendor patches.

Second, they are tickless kernels. CONFIG_NO_HZ is set, CONFIG_NO_HZ_FULL is not set. On the client kernel, CONFIG_HZ_1000=y, on the server kernel, CONFIG_HZ_100=y.

Thirdly, these kernels all provide support for both UDP and TCP protocol NFS versions, 2, 3, 4, 4.1, and 4.2. Ubuntu has chosen to eliminate support for NFS UDP and version 2, and effectively version 3 since there is no provision in the original version 3 specification for TCP.

The server kernel is non-premptive, the client kernel is fully preemptive. This provides maximum processing ability on the server, minimal latency on client machines.

Unlike in the past where I compiled only '.deb' packages for debian based systems, I am also now providing '.rpm' packages for Redhat based systems.

There are also RPM only packages in a subdirectory called centos6, this kernel is compiled specifically for centos6 which does not work on the default Ubuntu configuration from which my configuration is derived.

There is a set of .deb files in "debian", these are the same as the server kernels except that zstd compression is NOT used in the packages because of debians version of dpkg being unable to support it and they are signed so that debian package loader doesn't squak.

In the case of Debian, download all three '.deb' files for the kernel of your choice and install with: dpkg -i *.deb

In the case of Redhat based systems, everything from Centos6 to CentosStream, Fedora all modern flavors, and Scientific Linux, install by downloading both .rpm packages and install with "rpm -i *.rpm"

Note, in the case of RPM some systems will complain that it conflicts with existing header packages installed, in which case remove the existing package first with:

rpm --nodeps -e kernel-header