Re: [PATCH v2 3/2] sched/deadline: Check bandwidth overflow earlier for hotplug

Christian Loehle
2025-02-13T12:27:22Z

On 2/13/25 06:20, Juri Lelli wrote:
> On 12/02/25 19:22, Dietmar Eggemann wrote:
>> On 11/02/2025 11:42, Juri Lelli wrote:
>
> ...
>
>>> What about we actually ignore them consistently? We already do that for
>>> admission control, so maybe we can do that when rebuilding domains as
>>> well (until we find maybe a better way to deal with them).
>>>
>>> Does the following make any difference?
>>
>> It at least seems to solve the issue. And like you mentioned on irc, we
>> don't know the bw req of sugov anyway.
>>
>> So with this change we start with 'dl_bw->total_bw = 0' even w/ sugov tasks.
>>
>> dl_rq[0]:
>> .dl_nr_running : 0
>> .dl_bw->bw : 996147
>> .dl_bw->total_bw : 0 <-- !
>>
>> IMHO, people who want to run serious DL can always check whether there
>> are already these infrastructural DL tasks or even avoid schedutil.
>
> It definitely not ideal and admittedly gross, but not worse than what we
> are doing already considering we ignore sugovs at AC and the current
> bandwidth allocation its there only to help with PI. So, duck tape. :/
>
> A more proper way to work with this would entail coming up with sensible
> bandwidth allocation for sugovs, but that's most probably hardware
> specific, so I am not sure how we can make that general enough.
>
> Anyway, looks like Jon was still seeing the issue. I asked him to verify
> he is using all the proposed changes. Let's see what he reports.

FWIW it also fixes my reproducer.

I agree that dummy numbers for sugov bw is futile, but real bw numbers
also don't make a lot of sense (what if we exceed them? The system
won't be able to change frequency, i.e. might not be able to provide
bw for other DL tasks then either?).
I'm slightly worried about now allowing the last legal CPU for a sugov
cluster to offline, which would lead to a cluster still being active
but sugov DL unable to run anywhere. I can't reproduce this currently
though. Is this an issue in theory? Or am I missing something?