Re: [PATCH v9 0/8] sched/deadline: fix cpusets bandwidth accounting

From: Dietmar Eggemann
Date: Wed Jul 24 2019 - 04:45:52 EST

On 7/19/19 3:59 PM, Juri Lelli wrote:
> Hi,
> v9 of a series of patches, originally authored by Mathieu, with the intent
> of fixing a long standing issue of SCHED_DEADLINE bandwidth accounting.
> As originally reported by Steve [1], when hotplug and/or (certain)
> cpuset reconfiguration operations take place, DEADLINE bandwidth
> accounting information is lost since root domains are destroyed and
> recreated.
> Mathieu's approach is based on restoring bandwidth accounting info on
> the newly created root domains by iterating through the (DEADLINE) tasks
> belonging to the configured cpuset(s).
> Apart from the usual rebase on top of cgroup/for-next, this version
> - make cpuset_{can,cancel}_attach grab cpuset_rwsem for write (5/8 - Peter)
> - moves v8 8/8 to 7/8 for bisectability (Peter)
> - adds comment in changelog regarding normalize_rt_tasks() (8/8 - Peter)
> Set also available at
> fixes/deadline/root-domain-accounting-v9

Tested-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>

Test description:

Juno-r0 (Arm64 big/Little [L b b L L L]) with 6 DL tasks

Rt-app runs DL workload for 10min.

After rt-app launched, start CPU hotplug stress test (random CPU hp
in/out except for CPU1 (CPU orig capacity 1024 (big)) during the entire
rt-app run.

Tests ran with 1 and 2 (exclusive cpusets ([0,3-5], [1-2])) root domains.