Messages in this thread | | | From | Waiman Long <> | Subject | Re: [PATCH 2/5] cgroup/cpuset: Add new cpus.partition type with no load balancing | Date | Thu, 10 Jun 2021 15:21:51 -0400 |
| |
On 6/10/21 3:00 PM, Peter Zijlstra wrote: > On Thu, Jun 03, 2021 at 05:24:13PM -0400, Waiman Long wrote: >> Cpuset v1 uses the sched_load_balance control file to determine if load >> balancing should be enabled. Cpuset v2 gets rid of sched_load_balance >> as its use may require disabling load balancing at cgroup root. >> >> For workloads that require very low latency like DPDK, the latency >> jitters caused by periodic load balancing may exceed the desired >> latency limit. >> >> When cpuset v2 is in use, the only way to avoid this latency cost is to >> use the "isolcpus=" kernel boot option to isolate a set of CPUs. After >> the kernel boot, however, there is no way to add or remove CPUs from >> this isolated set. For workloads that are more dynamic in nature, that >> means users have to provision enough CPUs for the worst case situation >> resulting in excess idle CPUs. > Also, can we change isolcpus to create a default cgroup hierarchy > instead of being the fugly hack that it is? I really hate isolcpus with > a passion, it needs to die. > That is probably doable assuming that we can allow cpuset v2 to have a non-load balanced partition.
Depending on which cpuset version is set up, we can automatically set up a isolated subdirectory under / to contain cpus that are isolated. However, that will be a follow-on patch after this one.
Cheers, Longman
| |