Those of you with any Debian based system, Ubuntu, Mint, Debian, MX-Linux, Zorin, Julinux, etc, who might wish to try a 5.6 kernel, I’ve built tickless kernels. At this point the client kernel is fairly well tested, the server kernel less so but I’m running it now. There are some significant improvements in 5.6 verses 5.5, just as there were with 5.5 verses 5.4.
Tickless operation has significant advantages for both clients and servers. In clients, it means the CPU does not wake-up for clock ticks UNLESS there is other work in the work queue pending. This makes your client slightly more responsive AND saves battery on laptops by not running the CPU when there isn’t work.
On servers, tickless operation is particularly helpful when you have many guest systems on a host. With as few as 12 guests, you can end up using half your CPU cycles servicing clock interrupts, so this can substantially reduce your server load and improve responsiveness with multiple guests.
5.6 introduced the ability for peripherals to DMA directly to each other which can substantially improve things like disk-to-disk copies. There are also some improvements in NFS. There are many new drivers for new devices.
Unlike my 5.5 and 5.4 kernels, this kernel is NOT a simple clone of the default Ubuntu configuration with only a few changes made, the changes made are much more radical providing support for more devices and performance enhancements.
To use these kernels with full functionality of periphery, especially if you have Intel graphics, and NOT to have meltdown or spectre vulnerabilities, you need the very most current Linux firmware available on the Github site, the firmware included with Ubuntu or Asus are NOT current and will leave you with exposed vulnerabilities.
To get this use “get clone https://github.com/NXP/linux-firmware.git“, which will clone to a directory called firmware, then copy all of the directory structure into /usr/lib/firmware.
You can get these kernels from ftp.eskimo.com://pub/kernel/linux-5.6-tickless/[client|server/*.deb or from https://www.eskimo.com/…/linux-5.6-ti…/[client%7Cserver]/*.…. There are three .deb packages in each directory, all must be installed. Download them then type dpkg -i *.deb, then reboot.
The difference between the client and server version is that the client is fully preemptive with a clock rate of 1000HZ (though no interrupts unless there is work), where as the server is non-preemptive and a clock rate of 100HZ to minimize unnecessary interrupts and allow maximum work to be done. The client version will run fine on servers but will waste more CPU in interrupts. The server version will work fine on clients but will have a higher latency that may not be suitable for audio / video applications.