[pve-devel] Proxmox lowlatecy kernel

Thomas Lamprecht t.lamprecht at proxmox.com
Tue Dec 10 15:56:47 CET 2019


Hi,

On 12/10/19 3:12 PM, Robin Groppe wrote:
> Hi,
> 
First, please do not contact devs directly, we have mailing lists for reasons,
I don't provide personal support or fulfill personal wish-requests.

CCin pve-devel.

> what do you think about adding a lowlatecy kernel option?
> 
If there would be concrete, reproducible, benchmarks about how those settings
improve things, and do not regress others, in specified, (concrete!) scenarios
we could start to think about it.

> I tested the build process which does not take much additional efford.
> 
You mean, it does not takes much effort to enable those configs. But, actually
supporting two (or more) flavors of Kernels takes much effort, it effectively
can double it - NIC drivers may do weird stuff in one but not another, ZFS/Ceph
hyper-converged setups too, ... effectively you ask the developers to double
their testing effort required on each Kernel upgrade - it's not just enabling
those option and shipping an additional package and be done. If it was like
that I might not have an issue with that, even if some numbers would be nice
too then. But doing double the work for some possible, not bench-marked or
clearly determined advantages, is not something I can just say yes - sorry.

> 
> https://forum.proxmox.com/threads/preempt-rt-oder-lowlatency-kernel.32704/post-279829
> 
> 
> I think this would be nice to have for realtime critical applications like sip, voip and even gameservers.
> 
As long as the Hypervisor Host is not overloaded, you can just pin VMs to cores
and let the Guest OS handle the scheduling as desired, be it low-latency or
even RT. The "kernel with high frequency ticks", sold especially for
gamerservers, existed mostly only for marketing-purpose, as they normally
introduced more overhead than use, thus the kernel-ticks as they were 5-10
years ago do not exists anymore. IMO, the host hyper-visor should not play
"realtime games" with the guest CPUs, it has not the full picture about the
tasks of the Guest OS.

FYI: SCHEAD_{DEADLINE,FIFO,RR} classes are provided by the CFS, they can
already by used, together with cgroup shares, to ensure VMs with more critical
response time get their CPU shares.

You may also want to check-out:
https://www.kernel.org/doc/html/latest/scheduler/sched-deadline.html
https://www.kernel.org/doc/html/latest/scheduler/sched-rt-group.html

cheers,
Thomas



More information about the pve-devel mailing list