Re: [External] : Re: [REGRESSION][v6.17-rc1]sched/fair: Bump sd->max_newidle_lb_cost when newidle balance fails

From: Adam Li

Date: Thu Oct 30 2025 - 22:46:56 EST


On 10/30/2025 5:30 PM, Peter Zijlstra wrote:
>
> Hi Adam,
>
> On Thu, Oct 30, 2025 at 03:22:34PM +0800, Adam Li wrote:
>
>> Commit 155213a2aed4 brings ~6% regression for SpecJBB critical-jOPS on
>> AmpereOne server.
>>
>> Baseline: v6.17 kernel + patch. Compared with baseline:
>> NI_TARGET +7%
>> NI_SPARE -3%
>> NI_RUNNABLE -4%
>> NI_RANDOM -3%
>>
>> So NI_TARGET reverts the performance regression.
>> The other options brings more regression for SpecJBB.
>
> Excellent, how does NI_TARGET+NI_RANDOM work for you? Like Chris, I
> found that the schbench workload was really suffering from doing too
> many idle balance attempts that weren't really working out.
>
> NI_RANDOM reduces the number of newidle balances based on the success
> ratio. Eg. if you have successful balancing 25% of the time, it will do
> 1 in 4 balances and count a successful balance as 4 to keep the
> accounting straight.
>
> So workloads with a high success rate will keep newidle balance calls
> frequent, while workloads with a low success rate (like schbench) will
> greatly reduce the number of calls.

Please see the test result of SpecJBB critical-jOPS on AmpereOne:

Baseline: v6.17+patch
NI_TARGET: +6%
NI_TARGET+NI_RANDOM: +5%
NI_TARGET+NI_SPARE: +4%
NI_TARGET+NI_RUNNABLE: +2%

"NI_TARGET+NI_RANDOM" and "NI_TARGET" are very close.
I will do more test.

Thanks,
-adam