I am tentatively scheduling a kernel upgrade for all eskimo.com services this Friday pending successful testing of 5.19.0. I’ve only installed it on two machines at present, the web server because it is really heavy on context switches and uses many computer language used in web programming, including C, C++, java, python, php, ruby, and context switching is often where Linux either barfs or has efficiency issues, and on my workstation where I also have several virtual machines and thus can test kvm-qemu which is heavily used to provide our services.
This will affect all Eskimo North services including private virtual servers, web hosting, shell servers, and mail. It will affect our public services including https://friendica.eskimo.com/, https://hubzilla.eskimo.com/, and https://nextcloud.eskimo.com/, and our website https://www.eskimo.com/.
So far I am highly optimistic. It’s cut the load time for our PHP page down to 76ms cached, 82ms uncached. Pingdom Tools won’t give you these numbers because there is too much latency in their tools, but Firefox web development tools will, and this is coming from a different network (Comcast). This is at least an order of magnitude better than our fastest competitor and as much as two orders of magnitude better than our slower competitors so I am very happy with these results.
We skipped 5.18 because it had stability issues with kvm-qemu but so far these have not manifested in 5.19. I am particularly impressed with the results because 5.19 added many new device drivers and debug tools as well as other tools. Usually when you increase the complexity of a kernel to this degree it doesn’t result in good things for performance, but not the case with 5.19.
These are tickless kernels, I always build them this way because why waste CPU cycles rescheduling tasks when there is nothing in the run queue? If you care to try them and perhaps assist with testing or just want to maximize the performance of your hardware, I make them available at https://www.eskimo.com/kernel/. Please take the time to read the README file as it describes the differences in the various kernels available. The .config’s are also present should you care to build yourself. These are all compiled with the most current release of gcc, gcc 12.1.