-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
4.13
-
Moderate
-
No
-
False
-
-
-
Description of problem:
In 4.13, BestEffort pod cpu affinity is set to reserved cpuset only. In 4.12 and earlier, it uses reserved cpuset + free isolated cpuset. The following example uses AWS SNO m6i.4xlarge 16vCPU 64GB mem. $ oc label node --all sno-pp=enabled $ oc label mcp --all sno-pp=enabled $ oc create -f - <<EOF apiVersion: performance.openshift.io/v2 kind: PerformanceProfile metadata: name: sno-pp spec: cpu: reserved: 0-3 isolated: 4-15 machineConfigPoolSelector: sno-pp: enabled nodeSelector: node-role.kubernetes.io/master: "" EOF $ oc create -f - <<EOF apiVersion: machineconfiguration.openshift.io/v1 kind: KubeletConfig metadata: name: sno-pp spec: machineConfigPoolSelector: matchLabels: sno-pp: enabled kubeletConfig: cpuManagerPolicy: static cpuManagerReconcilePeriod: 5s reservedSystemCPUs: 0-3 EOF $ oc new-project test $ oc create deployment sleep-a --image=registry.access.redhat.com/ubi8/ubi -- /bin/bash -c "trap : TERM INT; sleep infinity & wait" $ oc set resources deployment sleep-a --requests=cpu=1,memory=32Mi --limits=cpu=1,memory=32Mi $ oc create deployment sleep-b --image=registry.access.redhat.com/ubi8/ubi -- /bin/bash -c "trap : TERM INT; sleep infinity & wait" $ oc rsh deploy/sleep-a cat /proc/1/status | grep Cpus_allowed_list 4 $ oc rsh deploy/sleep-a cat /sys/fs/cgroup/cpuset/cpuset.cpus 4 $ oc rsh deploy/sleep-b cat /proc/1/status | grep Cpus_allowed_list 0-3 $ oc rsh deploy/sleep-b cat /sys/fs/cgroup/cpuset/cpuset.cpus 0-3,5-15 $ oc rsh deploy/sleep-b yes >/dev/null & $ oc debug $NODE # ps -C "yes" -L -o pid,lwp,pcpu,cpuid,time # cpuid shows 0, 1, 2, 3. No 5-15 used.
Version-Release number of selected component (if applicable):
4.13.2
How reproducible:
Always
Steps to Reproduce:
1. Configure cluster with PerformaceProfile reverved/isolated cpuset, enable cpumanager 2. Deploy BestEffort pod 3. Look at process Cpus_allowed_list
Actual results:
Process cpu affinity is set to reserved cpuset
Expected results:
Process cpu affinity is set to reserved cpuset + free isolated cpuset, just same as cgroups cpuset.cpus
Additional info:
- is duplicated by
-
OCPBUGS-15102 All burstable pods run with the reserved cpu affinity mask when PerformanceProfile is applied
- Closed