Re: [External] : Re: [REGRESSION][v6.17-rc1]sched/fair: Bump sd->max_newidle_lb_cost when newidle balance fails
From: Dietmar Eggemann
Date: Thu Oct 30 2025 - 16:53:54 EST
On 30.10.25 10:30, 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.
Results with OLTP 'hammerdb - mysqld' on Arm64 VMs
NOPM P50 latency
6.18-rc3 baseline baseline
6.18-rc3-revert-155213a2aed4 +12% -8.5%
6.18-rc3 NI_TARGET +12% -8.2%
6.18-rc3 NI_SPARE +-0% +-0%
6.18-rc3 NI_RUNNABLE -1% +1%
6.18-rc3 NI_RANDOM -1% +1%
Looks like only NI_TARGET reverts the regression here.