Skip to content

cgroup/cpuset: Improve CPU isolation in isolated partitions

Waiman Long requested to merge llong1/centos-stream-9:rhel-21798_cpuset into main

JIRA: https://issues.redhat.com/browse/RHEL-21798
MR: !3611 (merged)

At present, cpuset isolated partition only disables load balancing for the isolated CPUs within the partition. There are still other sources of OS noises present that may adversely break the target latency limit. One of those noises is the possibility that an isolated CPU may be used by an unbound workqueue to process workqueue items.

Specifying the isolcpus (with default domain flag) boot command line will prevent unbound workqueues to use those isolated CPUs for processing. That is not currently the case for isolated cpuset partitions. To make cpuset isolated partition as close to the isolcpus boot option as possible, we need to remove those isolated CPUs from being used by an unbound workqueue.

This MR backports the upstream workqueue and cpuset patches to make isolated cpuset partitions more close to isolcpus boot command line option in functionality. In addition, the isolated cpuset CPUs are now also enabled in the cpu_is_isolated() helper which is used by vmstat and memcg to reduce interference with isolated CPUs by not doing stat flushing or scheduling works on those CPUs.

Signed-off-by: Waiman Long longman@redhat.com

Edited by Waiman Long

Merge request reports