Liquorix Kernel
liquorix.net
liquorix.net
Hearing "the best" there really bugs me for some reason.
The Linux kernel is buit for all sorts of devices, including embedded, servers, desktops, phones, etc - it's not hard to imagine the default settings being not perfectly optimized for a specific usecase (that said, I have not tried the lqx kernel or looked at benchmarks, but the claim doesn't seem outrageous).
https://en.wiktionary.org/wiki/optimus#Latin
(But I guess "best" can have a connotation of marketing-speak, while "optimized" can have a connotation of engineering-speak.)
https://en.wikipedia.org/wiki/Calque
It's always fun and satisfying for me to happen upon these. :-)
I will definitely read this.
A big latency spike in latency and your desktop seems to hang, the audio shutters or you see framerate drop (or even freezes) in games.
How do you go after these? You optimize for fairness (which guarantees your workload a fair fraction of the resources) and frequent scheduling (higher frequency / smaller slices).
The downside is that you will trade in maximum throughput.
Looking at the settings I can see that this is what they adjust, but they should clarify what they regard as crucial for such a setup.
Not sure how it compares to liquorix, but xanmod allowed me to go from 60ms+ to <10ms in pipewire latency.
Definitely recommend xanmod.
aha the first soundcard I bought was an ESP 1010... brings back good memories ! it was running on and it was also able to go quite below 60 ms too, I did not have too many issues playing live with guitar amp sims with it, between 8 and 10ms of latency IIRC ? on an athlon xp 3000 or 3200+...
The main reason is that there is a bug in the normal Debian kernel that prevents that specific machine from booting with a kernel panic. The bug seems to be fixed in later kernel versions, hence Liquorix.
That machine also boots fine from a debian 10 kernel which is how I was able to install liquorix after the debian 11 upgrade went sideways.
https://www.kernel.org/doc/html/latest/process/stable-kernel...
https://wiki.debian.org/DebianKernel/GitBisect
Tip from it: use the Debian wayback machine to do the first narrowing down:
You can check the comments regarding a discovery that certain sched_yield configurations destroy performance on out-of-tree schedulers and was amended post benchmarking.
This however was using MuQSS, which was notorious for poor single thread performance. Liquorix now uses PDS which attempts to use all physical cores before deferring to SMT threads. This completely changes performance for lightly threaded workloads.
There's been no news-worthy benchmarks since Liquorix switched from MuQSS to PDS.
Maybe the extra responsiveness under heavy loads is slowing it down?
Probably. It's a basic tradeoff in multitasking. A process can be left in cache and run for hundreds of milliseconds at high efficiency. Or the kernel can constantly juggle contexts in and out quickly, wasting cycles to reduce the delay between time slices and (potentially) allow fast response.
The way to achieve the highest /average/ frame rate regardless of latency would be to pause the game for a good second, run the server, pause the server, run the game for a second, and repeat. This has much lower overhead than swapping between them perhaps 100 times a second. Except it's super laggy. Swap them out 100 times a second and the process only has to wait maybe 10 ms until it next executes and appears much less laggy, but total throughput decreases.
Yes! Extra responsiveness is done by switching more often between tasks. This is not free, so throughput suffers. The linux kernel lists that as the downside of e.g. 1000Hz ticks (something the Liquorix kernel enables).
On arch, I definitely get better gaming performance than the stock kernel. The liquorix repo's arch kernel doesn't play well with libvirt - that's about my only gripe.
Xanmod kernel seems to have all the gaming improvements and still plays nice with libvirt though.
(Also run zen on my main gaming rig, another fantastic kernel)
>Zen Interactive Tuning: Tunes the kernel for responsiveness at the cost of throughput and power usage.
https://liquorix.net/#features
>Zen Kernel — Result of a collaborative effort of kernel hackers to provide the best Linux kernel possible for everyday systems. Some more details can be found on https://liquorix.net (which provides kernel binaries based on Zen for Debian).
I find this categorization of server workloads as something that is not latency sensitive bit weird. I'd imagine tons of server workloads that serve interactive users, for example a web server, should also care latency. If you for example are targeting <100ms p99 latency for your web service, then to me that sounds like it'd fall in the same ballpark as desktop use?
Sure there are still some batch workloads or other non-latency sensitive things around, but I'd almost expect those to be in the minority these days for servers.
>If you for example are targeting <100ms p99 latency for your web service.
Ah yes absolutely, if that needs that to be guaranteed maybe even real-time.
The zfs module built just fine.
update: gpu works fine, zfs is not working -- looked like the kernel module was built but I must have been mistaken.
update2: install deps then
sudo make clean && ./configure && make && make deb-dkms && sudo dpkg -i ...
and then import pools as needed