-
Bug
-
Resolution: Done-Errata
-
Major
-
None
-
False
-
-
False
-
CLOSED
-
---
-
---
-
-
-
CNV I/U Operators Sprint 238
-
High
-
No
Description of problem:
For DPDK type applications, the vCPU should not be interrupted or throttled
by the cgroup cpu quota limitations. By default k8s sets cpu quota limitations to positive
integer values, which throttles the vCPU.
To disable cpu quota for pods it is necessary to annotate the pod with
cpu-quota.crio.io: "disable"
And set runtimeClassName to the performance profile runtimeClassName (as described
at "Disabling CPU CFS quota" section of https://docs.openshift.com/container-platform/4.12/scalability_and_performance/cnf-low-latency-tuning.html).
However KubeVirt does not support setting of runtimeClassName.
In a discussion with Vladik, it appears an acceptable way to allow pods to
set runtimeClassName would be for a scheduling policy to be created for VMs,
similarly to migration policies.
Version-Release number of selected component (if applicable):
4.12
How reproducible:
Always
Steps to Reproduce:
1. Start KubeVirt VM with cpu-quota.crio.io: "disable" annotation and runtimeclassname set (per cnf low latency tuning document above).
2.
3.
Actual results:
cpu.cpu_quota_us value in the pod cgroup is not -1.
Expected results:
cpu.cpu_quota_us value in the pod cgroup is -1.
Additional info:
- blocks
-
CNV-30333 [2217910] [cnv-4.13] kubevirt should allow runtimeclass to be configured in a pod
- Closed
- is duplicated by
-
CNV-27978 [2185411] per-pod annotation "irq-load-balancing.crio.io: disabled" is not effective for virt-launcher pod
- Closed
-
CNV-28509 [2192636] High steal time in VMs using dedicated resources
- Closed
- external trackers
- mentioned on