Re: [PATCH v2 0/2] sched/eevdf: Minor fixes for reweight_entity()

From: K Prateek Nayak
Date: Wed Mar 13 2024 - 02:24:34 EST


Hello Tianchen,

On 3/6/2024 7:51 AM, Tianchen Ding wrote:
> According to the discussion in [1], fix a calculation bug in
> reweight_entity().
>
> [1] https://lore.kernel.org/all/59585184-d13d-46e0-8d68-42838e97a702@xxxxxxxxxxxxx/
>
> v2:
> Add fixes tag to the 1st patch.
>
> v1: https://lore.kernel.org/all/20240304030042.2690-1-dtcccc@xxxxxxxxxxxxxxxxx/
>
> Tianchen Ding (2):
> sched/eevdf: Always update V if se->on_rq when reweighting
> sched/eevdf: Fix miscalculation in reweight_entity() when se is not
> curr

Tested the changes on a dual socket 3rd Generation EPYC system and am
happy to inform that I see no regressions. I'll leave the full results
below:

o System Details

- 3rd Generation EPYC System
- 2 x 64C/128T
- NPS1 mode

o Kernels

tip: tip:sched/core at commit 8cec3dd9e593
("sched/core: Simplify code by removing
duplicate #ifdefs")

reweight-fix: tip + this series.

o Results

==================================================================
Test : hackbench
Units : Normalized time in seconds
Interpretation: Lower is better
Statistic : AMean
==================================================================
Case: tip[pct imp](CV) reweight-fix[pct imp](CV)
1-groups 1.00 [ -0.00]( 2.08) 1.01 [ -1.06]( 4.18)
2-groups 1.00 [ -0.00]( 0.89) 1.02 [ -1.58]( 1.18)
4-groups 1.00 [ -0.00]( 0.81) 1.01 [ -1.05]( 0.81)
8-groups 1.00 [ -0.00]( 0.78) 1.00 [ 0.15]( 0.72)
16-groups 1.00 [ -0.00]( 1.60) 0.99 [ 1.20]( 1.55)


==================================================================
Test : tbench
Units : Normalized throughput
Interpretation: Higher is better
Statistic : AMean
==================================================================
Clients: tip[pct imp](CV) reweight-fix[pct imp](CV)
1 1.00 [ 0.00]( 0.71) 1.00 [ 0.36]( 0.12)
2 1.00 [ 0.00]( 0.25) 0.99 [ -0.52]( 0.26)
4 1.00 [ 0.00]( 0.85) 1.00 [ -0.35]( 0.93)
8 1.00 [ 0.00]( 1.00) 1.00 [ -0.27]( 0.56)
16 1.00 [ 0.00]( 1.25) 1.02 [ 1.73]( 0.63)
32 1.00 [ 0.00]( 0.35) 0.99 [ -0.75]( 1.01)
64 1.00 [ 0.00]( 0.71) 0.99 [ -1.00]( 0.51)
128 1.00 [ 0.00]( 0.46) 1.00 [ 0.29]( 0.56)
256 1.00 [ 0.00]( 0.24) 1.00 [ 0.08]( 1.07)
512 1.00 [ 0.00]( 0.30) 1.01 [ 1.16]( 0.28)
1024 1.00 [ 0.00]( 0.40) 1.01 [ 0.81]( 0.43)


==================================================================
Test : stream-10
Units : Normalized Bandwidth, MB/s
Interpretation: Higher is better
Statistic : HMean
==================================================================
Test: tip[pct imp](CV) reweight-fix[pct imp](CV)
Copy 1.00 [ 0.00]( 9.73) 1.05 [ 4.93]( 1.81)
Scale 1.00 [ 0.00]( 5.57) 0.97 [ -2.57]( 6.28)
Add 1.00 [ 0.00]( 5.43) 0.98 [ -2.45]( 5.87)
Triad 1.00 [ 0.00]( 5.50) 1.02 [ 1.85]( 3.19)


==================================================================
Test : stream-100
Units : Normalized Bandwidth, MB/s
Interpretation: Higher is better
Statistic : HMean
==================================================================
Test: tip[pct imp](CV) reweight-fix[pct imp](CV)
Copy 1.00 [ 0.00]( 3.26) 1.01 [ 0.54]( 2.31)
Scale 1.00 [ 0.00]( 1.26) 0.99 [ -0.68]( 3.86)
Add 1.00 [ 0.00]( 1.47) 0.99 [ -1.13]( 4.32)
Triad 1.00 [ 0.00]( 1.77) 1.01 [ 0.81]( 3.03)


==================================================================
Test : netperf
Units : Normalized Througput
Interpretation: Higher is better
Statistic : AMean
==================================================================
Clients: tip[pct imp](CV) reweight-fix[pct imp](CV)
1-clients 1.00 [ 0.00]( 0.22) 1.00 [ -0.35]( 0.46)
2-clients 1.00 [ 0.00]( 0.57) 1.00 [ -0.12]( 0.16)
4-clients 1.00 [ 0.00]( 0.43) 1.00 [ -0.38]( 0.40)
8-clients 1.00 [ 0.00]( 0.27) 1.00 [ -0.33]( 0.59)
16-clients 1.00 [ 0.00]( 0.46) 1.00 [ -0.15]( 0.39)
32-clients 1.00 [ 0.00]( 0.95) 1.00 [ -0.26]( 0.60)
64-clients 1.00 [ 0.00]( 1.79) 1.00 [ 0.19]( 1.76)
128-clients 1.00 [ 0.00]( 0.89) 1.00 [ 0.45]( 0.81)
256-clients 1.00 [ 0.00]( 3.88) 1.00 [ 0.42]( 5.53)
512-clients 1.00 [ 0.00](35.06) 1.03 [ 3.05](53.21)


==================================================================
Test : schbench
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: tip[pct imp](CV) reweight-fix[pct imp](CV)
1 1.00 [ -0.00](27.28) 0.81 [ 18.75](29.23)
2 1.00 [ -0.00]( 3.85) 1.05 [ -5.00]( 4.76)
4 1.00 [ -0.00](14.00) 0.95 [ 5.26](17.91)
8 1.00 [ -0.00]( 4.68) 0.85 [ 14.58]( 4.12)
16 1.00 [ -0.00]( 4.08) 0.95 [ 4.84]( 2.60)
32 1.00 [ -0.00]( 6.68) 0.94 [ 6.12]( 2.28)
64 1.00 [ -0.00]( 1.79) 0.99 [ 1.02]( 1.08)
128 1.00 [ -0.00]( 6.30) 0.99 [ 1.13]( 3.68)
256 1.00 [ -0.00](43.39) 1.11 [-10.71](10.31)
512 1.00 [ -0.00]( 2.26) 1.00 [ -0.47]( 1.57)


==================================================================
Test : Unixbench
Units : Normalized scores
Interpretation: Lower is better
Statistic : Various (Mentioned)
==================================================================
kernel tip reweight-fix
Hmean unixbench-dhry2reg-1 0.00% -0.60%
Hmean unixbench-dhry2reg-512 0.00% -0.10%
Amean unixbench-syscall-1 0.00% 1.61%
Amean unixbench-syscall-512 0.00% 4.94%
Hmean unixbench-pipe-1 0.00% 1.01%
Hmean unixbench-pipe-512 0.00% 0.73%
Hmean unixbench-spawn-1 0.00% -5.24%
Hmean unixbench-spawn-512 0.00% 2.83%
Hmean unixbench-execl-1 0.00% 0.20%
Hmean unixbench-execl-512 0.00% 0.10%
--

Feel free to include

Tested-by: K Prateek Nayak <kprateek.nayak@xxxxxxx>

>
> kernel/sched/fair.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
--
Thanks and Regards,
Prateek