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

Tianchen Ding posted 2 patches 1 year, 9 months ago
kernel/sched/fair.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
[PATCH v2 0/2] sched/eevdf: Minor fixes for reweight_entity()
Posted by Tianchen Ding 1 year, 9 months ago
According to the discussion in [1], fix a calculation bug in
reweight_entity().

[1] https://lore.kernel.org/all/59585184-d13d-46e0-8d68-42838e97a702@bytedance.com/

v2:
Add fixes tag to the 1st patch.

v1: https://lore.kernel.org/all/20240304030042.2690-1-dtcccc@linux.alibaba.com/

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

 kernel/sched/fair.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

-- 
2.39.3
Re: [PATCH v2 0/2] sched/eevdf: Minor fixes for reweight_entity()
Posted by Chen Yu 1 year, 8 months ago
On 2024-03-06 at 10:21:31 +0800, 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@bytedance.com/
> 
> v2:
> Add fixes tag to the 1st patch.
> 
> v1: https://lore.kernel.org/all/20240304030042.2690-1-dtcccc@linux.alibaba.com/
> 
> 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
> 
>  kernel/sched/fair.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> -- 
> 2.39.3
>

Applied this patch set on top of the reweight_entity fix at
https://lore.kernel.org/lkml/ZiEaKOQwiNEglYtS@chenyu5-mobl2/
it has passed 100 cycles of trinity test without any issue.

For the whole serie,

Tested-by: Chen Yu <yu.c.chen@intel.com>

thanks,
Chenyu
Re: [PATCH v2 0/2] sched/eevdf: Minor fixes for reweight_entity()
Posted by Peter Zijlstra 1 year, 8 months ago
On Fri, Apr 19, 2024 at 03:27:30PM +0800, Chen Yu wrote:
> On 2024-03-06 at 10:21:31 +0800, 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@bytedance.com/
> > 
> > v2:
> > Add fixes tag to the 1st patch.
> > 
> > v1: https://lore.kernel.org/all/20240304030042.2690-1-dtcccc@linux.alibaba.com/
> > 
> > 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
> > 
> >  kernel/sched/fair.c | 12 ++++++------
> >  1 file changed, 6 insertions(+), 6 deletions(-)
> > 
> > -- 
> > 2.39.3
> >
> 
> Applied this patch set on top of the reweight_entity fix at
> https://lore.kernel.org/lkml/ZiEaKOQwiNEglYtS@chenyu5-mobl2/
> it has passed 100 cycles of trinity test without any issue.
> 
> For the whole serie,
> 
> Tested-by: Chen Yu <yu.c.chen@intel.com>

OK, grabbed these patches (and made some minor edits), now let me go
stare at that other thread again.
Re: [PATCH v2 0/2] sched/eevdf: Minor fixes for reweight_entity()
Posted by Tianchen Ding 1 year, 8 months ago
On 2024/3/6 10:21, Tianchen Ding wrote:

Gentle ping.

> According to the discussion in [1], fix a calculation bug in
> reweight_entity().
> 
> [1] https://lore.kernel.org/all/59585184-d13d-46e0-8d68-42838e97a702@bytedance.com/
> 
> v2:
> Add fixes tag to the 1st patch.
> 
> v1: https://lore.kernel.org/all/20240304030042.2690-1-dtcccc@linux.alibaba.com/
> 
> 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
> 
>   kernel/sched/fair.c | 12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)
>
Re: [PATCH v2 0/2] sched/eevdf: Minor fixes for reweight_entity()
Posted by K Prateek Nayak 1 year, 9 months ago
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@bytedance.com/
> 
> v2:
> Add fixes tag to the 1st patch.
> 
> v1: https://lore.kernel.org/all/20240304030042.2690-1-dtcccc@linux.alibaba.com/
> 
> 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@amd.com>

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