Re: [PATCH V3 1/2] sched: Reduce the default slice to avoid tasks getting an extra tick

From: K Prateek Nayak
Date: Thu Feb 13 2025 - 22:34:41 EST


Hello Zhou,

I'll leave some testing data below but overall, in my testing with
CONFIG_HZ=250 and CONFIG_HZ=10000, I cannot see any major regressions
(at least not for any stable data point) There are few small regressions
probably as a result of grater opportunity for wakeup preemption since
RUN_TO_PARITY will work for a slightly shorter duration now but I
haven't dug deeper to confirm if they are run to run variation or a
result of the larger number of wakeup preemption.

Since most servers run with CONFIG_HZ=250, and the tick is anyways 4ms
and with default base slice currently at 3ms, I don't think there will
be any discernible difference in most workloads (fingers crossed)

Please find full data below.

On 2/8/2025 1:23 PM, zihan zhou wrote:
The old default value for slice is 0.75 msec * (1 + ilog(ncpus)) which
means that we have a default slice of
0.75 for 1 cpu
1.50 up to 3 cpus
2.25 up to 7 cpus
3.00 for 8 cpus and above.

For HZ=250 and HZ=100, because of the tick accuracy, the runtime of
tasks is far higher than their slice.

For HZ=1000 with 8 cpus or more, the accuracy of tick is already
satisfactory, but there is still an issue that tasks will get an extra
tick because the tick often arrives a little faster than expected. In
this case, the task can only wait until the next tick to consider that it
has reached its deadline, and will run 1ms longer.

vruntime + sysctl_sched_base_slice = deadline
|-----------|-----------|-----------|-----------|
1ms 1ms 1ms 1ms
^ ^ ^ ^
tick1 tick2 tick3 tick4(nearly 4ms)

There are two reasons for tick error: clockevent precision and the
CONFIG_IRQ_TIME_ACCOUNTING/CONFIG_PARAVIRT_TIME_ACCOUNTING. with
CONFIG_IRQ_TIME_ACCOUNTING every tick will be less than 1ms, but even
without it, because of clockevent precision, tick still often less than
1ms.

In order to make scheduling more precise, we changed 0.75 to 0.70,
Using 0.70 instead of 0.75 should not change much for other configs
and would fix this issue:
0.70 for 1 cpu
1.40 up to 3 cpus
2.10 up to 7 cpus
2.8 for 8 cpus and above.

This does not guarantee that tasks can run the slice time accurately
every time, but occasionally running an extra tick has little impact.

Signed-off-by: zihan zhou <15645113830zzh@xxxxxxxxx>
Reviewed-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>


o System Details

- 3rd Generation EPYC System
- 2 x 64C/128T
- NPS1 mode
- Boost Enabled
- C2 disabled; POLL and MWAIT based C1 remained enabled

o Kernels

mainline: For CONFIG_HZ=250 runs:
mainline kernel at commit 0de63bb7d919 ("Merge
tag 'pull-fix' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs")

For CONFIG_HZ=1000 runs it was v6.14-rc2

new_base_slice: respective mainline + Patch 1

o Benchmark results (CONFIG_HZ=250)

==================================================================
Test : hackbench
Units : Normalized time in seconds
Interpretation: Lower is better
Statistic : AMean
==================================================================
Case: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1-groups 1.00 [ -0.00]( 9.88) 1.09 [ -9.19](11.57)
2-groups 1.00 [ -0.00]( 3.49) 0.97 [ 2.91]( 4.51)
4-groups 1.00 [ -0.00]( 1.22) 0.99 [ 1.04]( 2.47)
8-groups 1.00 [ -0.00]( 0.80) 1.01 [ -1.10]( 1.81)
16-groups 1.00 [ -0.00]( 1.40) 1.01 [ -0.50]( 0.92)


==================================================================
Test : tbench
Units : Normalized throughput
Interpretation: Higher is better
Statistic : AMean
==================================================================
Clients: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1 1.00 [ 0.00]( 1.14) 0.99 [ -1.46]( 0.41)
2 1.00 [ 0.00]( 1.57) 1.01 [ 1.12]( 0.53)
4 1.00 [ 0.00]( 1.16) 0.99 [ -0.79]( 0.50)
8 1.00 [ 0.00]( 0.84) 0.98 [ -1.51]( 0.71)
16 1.00 [ 0.00]( 0.63) 0.97 [ -3.20]( 0.82)
32 1.00 [ 0.00]( 0.96) 0.99 [ -1.36]( 0.86)
64 1.00 [ 0.00]( 0.52) 0.97 [ -2.95]( 3.36)
128 1.00 [ 0.00]( 0.83) 0.99 [ -1.30]( 1.00)
256 1.00 [ 0.00]( 0.67) 1.00 [ -0.45]( 0.49)
512 1.00 [ 0.00]( 0.03) 1.00 [ -0.20]( 0.67)
1024 1.00 [ 0.00]( 0.19) 1.00 [ -0.14]( 0.24)


==================================================================
Test : stream-10
Units : Normalized Bandwidth, MB/s
Interpretation: Higher is better
Statistic : HMean
==================================================================
Test: mainline[pct imp](CV) new_base_slice[pct imp](CV)
Copy 1.00 [ 0.00](15.75) 1.21 [ 20.54]( 7.80)
Scale 1.00 [ 0.00]( 7.43) 1.00 [ 0.48]( 6.22)
Add 1.00 [ 0.00](10.35) 1.08 [ 7.98]( 6.29)
Triad 1.00 [ 0.00]( 9.34) 1.09 [ 9.09]( 6.91)


==================================================================
Test : stream-100
Units : Normalized Bandwidth, MB/s
Interpretation: Higher is better
Statistic : HMean
==================================================================
Test: mainline[pct imp](CV) new_base_slice[pct imp](CV)
Copy 1.00 [ 0.00]( 2.19) 1.05 [ 5.06]( 2.16)
Scale 1.00 [ 0.00]( 6.17) 1.02 [ 1.65]( 4.07)
Add 1.00 [ 0.00]( 5.88) 1.04 [ 3.81]( 1.07)
Triad 1.00 [ 0.00]( 1.40) 1.00 [ 0.06]( 3.79)


==================================================================
Test : netperf
Units : Normalized Througput
Interpretation: Higher is better
Statistic : AMean
==================================================================
Clients: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1-clients 1.00 [ 0.00]( 0.14) 0.98 [ -1.66]( 0.64)
2-clients 1.00 [ 0.00]( 0.85) 0.98 [ -1.52]( 0.82)
4-clients 1.00 [ 0.00]( 0.77) 0.98 [ -1.72]( 0.77)
8-clients 1.00 [ 0.00]( 0.53) 0.98 [ -1.60]( 0.59)
16-clients 1.00 [ 0.00]( 0.91) 0.98 [ -1.79]( 0.74)
32-clients 1.00 [ 0.00]( 0.99) 0.99 [ -1.32]( 0.99)
64-clients 1.00 [ 0.00]( 1.35) 0.99 [ -1.43]( 1.39)
128-clients 1.00 [ 0.00]( 1.20) 0.99 [ -1.17]( 1.22)
256-clients 1.00 [ 0.00]( 4.41) 0.99 [ -1.07]( 4.95)
512-clients 1.00 [ 0.00](59.74) 1.00 [ -0.17](59.70)


==================================================================
Test : schbench
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1 1.00 [ -0.00]( 7.39) 1.02 [ -2.38](35.97)
2 1.00 [ -0.00](10.14) 1.02 [ -2.22]( 7.22)
4 1.00 [ -0.00]( 3.53) 1.08 [ -8.33]( 3.27)
8 1.00 [ -0.00](11.48) 0.91 [ 8.93]( 4.97)
16 1.00 [ -0.00]( 7.02) 0.98 [ 1.72]( 6.22)
32 1.00 [ -0.00]( 3.79) 0.97 [ 3.23]( 2.53)
64 1.00 [ -0.00]( 8.22) 0.99 [ 0.57]( 2.31)
128 1.00 [ -0.00]( 4.38) 0.92 [ 8.25](87.57)
256 1.00 [ -0.00](19.81) 1.27 [-27.13](13.43)
512 1.00 [ -0.00]( 2.41) 1.00 [ -0.00]( 2.73)


==================================================================
Test : new-schbench-requests-per-second
Units : Normalized Requests per second
Interpretation: Higher is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1 1.00 [ 0.00]( 0.00) 0.97 [ -2.64]( 0.68)
2 1.00 [ 0.00]( 0.00) 1.00 [ 0.00]( 0.15)
4 1.00 [ 0.00]( 0.15) 1.00 [ 0.00]( 0.15)
8 1.00 [ 0.00]( 0.00) 1.00 [ 0.00]( 0.15)
16 1.00 [ 0.00]( 0.00) 1.00 [ 0.00]( 0.00)
32 1.00 [ 0.00]( 0.42) 0.99 [ -0.92]( 3.95)
64 1.00 [ 0.00]( 2.45) 1.03 [ 3.09](15.04)
128 1.00 [ 0.00]( 0.20) 1.00 [ 0.00]( 0.00)
256 1.00 [ 0.00]( 0.84) 1.01 [ 0.92]( 0.54)
512 1.00 [ 0.00]( 0.97) 0.99 [ -0.72]( 0.75)


==================================================================
Test : new-schbench-wakeup-latency
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1 1.00 [ -0.00](12.81) 0.91 [ 9.09](14.13)
2 1.00 [ -0.00]( 8.85) 1.00 [ -0.00]( 4.84)
4 1.00 [ -0.00](21.61) 0.86 [ 14.29]( 4.43)
8 1.00 [ -0.00]( 8.13) 0.91 [ 9.09](18.23)
16 1.00 [ -0.00]( 4.08) 1.00 [ -0.00]( 8.37)
32 1.00 [ -0.00]( 4.43) 1.00 [ -0.00](21.56)
64 1.00 [ -0.00]( 4.71) 1.00 [ -0.00](10.16)
128 1.00 [ -0.00]( 2.35) 0.93 [ 7.11]( 6.69)
256 1.00 [ -0.00]( 1.52) 1.02 [ -1.60]( 1.51)
512 1.00 [ -0.00]( 0.40) 1.01 [ -1.17]( 0.34)


==================================================================
Test : new-schbench-request-latency
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1 1.00 [ -0.00]( 2.46) 1.04 [ -3.67]( 0.35)
2 1.00 [ -0.00]( 3.16) 1.00 [ -0.26]( 0.13)
4 1.00 [ -0.00]( 3.16) 0.95 [ 4.60]( 2.82)
8 1.00 [ -0.00]( 1.00) 1.05 [ -4.81]( 0.00)
16 1.00 [ -0.00]( 3.77) 1.01 [ -0.80]( 2.44)
32 1.00 [ -0.00]( 1.94) 1.06 [ -6.24](27.22)
64 1.00 [ -0.00]( 1.07) 0.99 [ 1.29]( 0.68)
128 1.00 [ -0.00]( 0.44) 1.01 [ -0.62]( 0.32)
256 1.00 [ -0.00]( 7.02) 1.04 [ -4.45]( 7.53)
512 1.00 [ -0.00]( 1.10) 1.01 [ -1.02]( 2.59)


==================================================================
Test : longer running benchmarks
Units : Normalized throughput
Interpretation: Higher is better
Statistic : Median
==================================================================
Benchmark pct imp
ycsb-cassandra -1.14%
ycsb-mongodb -0.84%
deathstarbench-1x -4.13%
deathstarbench-2x -3.93%
deathstarbench-3x -1.27%
deathstarbench-6x -0.10%
mysql-hammerdb-64VU -0.37%
---

o Benchmark results (CONFIG_HZ=1000)

==================================================================
Test : hackbench
Units : Normalized time in seconds
Interpretation: Lower is better
Statistic : AMean
==================================================================
Case: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1-groups 1.00 [ -0.00]( 8.66) 1.05 [ -5.30](16.73)
2-groups 1.00 [ -0.00]( 5.02) 1.07 [ -6.54]( 7.29)
4-groups 1.00 [ -0.00]( 1.27) 1.02 [ -1.67]( 3.74)
8-groups 1.00 [ -0.00]( 2.75) 0.99 [ 0.78]( 2.61)
16-groups 1.00 [ -0.00]( 2.02) 0.97 [ 2.97]( 1.19)


==================================================================
Test : tbench
Units : Normalized throughput
Interpretation: Higher is better
Statistic : AMean
==================================================================
Clients: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1 1.00 [ 0.00]( 0.40) 1.00 [ -0.44]( 0.47)
2 1.00 [ 0.00]( 0.49) 0.99 [ -0.65]( 1.39)
4 1.00 [ 0.00]( 0.94) 1.00 [ -0.34]( 0.09)
8 1.00 [ 0.00]( 0.64) 0.99 [ -0.77]( 1.57)
16 1.00 [ 0.00]( 1.04) 0.98 [ -2.00]( 0.98)
32 1.00 [ 0.00]( 1.13) 1.00 [ 0.34]( 1.31)
64 1.00 [ 0.00]( 0.58) 1.00 [ -0.28]( 0.80)
128 1.00 [ 0.00]( 1.40) 0.99 [ -0.91]( 0.51)
256 1.00 [ 0.00]( 1.14) 0.99 [ -1.48]( 1.17)
512 1.00 [ 0.00]( 0.51) 1.00 [ -0.25]( 0.66)
1024 1.00 [ 0.00]( 0.62) 0.99 [ -0.79]( 0.40)


==================================================================
Test : stream-10
Units : Normalized Bandwidth, MB/s
Interpretation: Higher is better
Statistic : HMean
==================================================================
Test: mainline[pct imp](CV) new_base_slice[pct imp](CV)
Copy 1.00 [ 0.00](16.03) 0.98 [ -2.33](17.69)
Scale 1.00 [ 0.00]( 6.26) 0.99 [ -0.60]( 7.94)
Add 1.00 [ 0.00]( 8.35) 1.01 [ 0.50](11.49)
Triad 1.00 [ 0.00]( 9.56) 1.01 [ 0.66]( 9.25)


==================================================================
Test : stream-100
Units : Normalized Bandwidth, MB/s
Interpretation: Higher is better
Statistic : HMean
==================================================================
Test: mainline[pct imp](CV) new_base_slice[pct imp](CV)
Copy 1.00 [ 0.00]( 6.03) 1.02 [ 1.58]( 2.27)
Scale 1.00 [ 0.00]( 5.78) 1.02 [ 1.64]( 4.50)
Add 1.00 [ 0.00]( 5.25) 1.01 [ 1.37]( 4.17)
Triad 1.00 [ 0.00]( 5.25) 1.03 [ 3.35]( 1.18)


==================================================================
Test : netperf
Units : Normalized Througput
Interpretation: Higher is better
Statistic : AMean
==================================================================
Clients: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1-clients 1.00 [ 0.00]( 0.06) 1.01 [ 0.66]( 0.75)
2-clients 1.00 [ 0.00]( 0.80) 1.01 [ 0.79]( 0.31)
4-clients 1.00 [ 0.00]( 0.65) 1.01 [ 0.56]( 0.73)
8-clients 1.00 [ 0.00]( 0.82) 1.01 [ 0.70]( 0.59)
16-clients 1.00 [ 0.00]( 0.68) 1.01 [ 0.63]( 0.77)
32-clients 1.00 [ 0.00]( 0.95) 1.01 [ 0.87]( 1.06)
64-clients 1.00 [ 0.00]( 1.55) 1.01 [ 0.66]( 1.60)
128-clients 1.00 [ 0.00]( 1.23) 1.00 [ -0.28]( 1.58)
256-clients 1.00 [ 0.00]( 4.92) 1.00 [ 0.25]( 4.47)
512-clients 1.00 [ 0.00](57.12) 1.00 [ 0.24](62.52)


==================================================================
Test : schbench
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1 1.00 [ -0.00](27.55) 0.81 [ 19.35](31.80)
2 1.00 [ -0.00](19.98) 0.87 [ 12.82]( 9.17)
4 1.00 [ -0.00](10.66) 1.09 [ -9.09]( 6.45)
8 1.00 [ -0.00]( 4.06) 0.90 [ 9.62]( 6.38)
16 1.00 [ -0.00]( 5.33) 0.98 [ 1.69]( 1.97)
32 1.00 [ -0.00]( 8.92) 0.97 [ 3.16]( 1.09)
64 1.00 [ -0.00]( 6.06) 0.97 [ 3.30]( 2.97)
128 1.00 [ -0.00](10.15) 1.05 [ -5.47]( 4.75)
256 1.00 [ -0.00](27.12) 1.00 [ -0.20](13.52)
512 1.00 [ -0.00]( 2.54) 0.80 [ 19.75]( 0.40)


==================================================================
Test : new-schbench-requests-per-second
Units : Normalized Requests per second
Interpretation: Higher is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1 1.00 [ 0.00]( 0.15) 1.00 [ 0.00]( 0.46)
2 1.00 [ 0.00]( 0.15) 1.00 [ 0.00]( 0.15)
4 1.00 [ 0.00]( 0.15) 1.00 [ 0.00]( 0.15)
8 1.00 [ 0.00]( 0.00) 1.00 [ 0.00]( 0.15)
16 1.00 [ 0.00]( 0.00) 1.00 [ 0.00]( 0.00)
32 1.00 [ 0.00]( 0.43) 1.01 [ 0.63]( 0.28)
64 1.00 [ 0.00]( 1.17) 1.00 [ 0.00]( 0.20)
128 1.00 [ 0.00]( 0.20) 1.00 [ 0.00]( 0.20)
256 1.00 [ 0.00]( 0.27) 1.00 [ 0.00]( 1.69)
512 1.00 [ 0.00]( 0.21) 0.95 [ -4.70]( 0.34)


==================================================================
Test : new-schbench-wakeup-latency
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1 1.00 [ -0.00](11.08) 1.33 [-33.33](15.78)
2 1.00 [ -0.00]( 4.08) 1.08 [ -7.69](10.00)
4 1.00 [ -0.00]( 6.39) 1.21 [-21.43](22.13)
8 1.00 [ -0.00]( 6.88) 1.15 [-15.38](11.93)
16 1.00 [ -0.00](13.62) 1.08 [ -7.69](10.33)
32 1.00 [ -0.00]( 0.00) 1.00 [ -0.00]( 3.87)
64 1.00 [ -0.00]( 8.13) 1.00 [ -0.00]( 2.38)
128 1.00 [ -0.00]( 5.26) 0.98 [ 2.11]( 1.92)
256 1.00 [ -0.00]( 1.00) 0.78 [ 22.36](14.65)
512 1.00 [ -0.00]( 0.48) 0.73 [ 27.15]( 6.75)


==================================================================
Test : new-schbench-request-latency
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) new_base_slice[pct imp](CV)
1 1.00 [ -0.00]( 1.53) 1.00 [ -0.00]( 1.77)
2 1.00 [ -0.00]( 0.50) 1.01 [ -1.35]( 1.19)
4 1.00 [ -0.00]( 0.14) 1.00 [ -0.00]( 0.42)
8 1.00 [ -0.00]( 0.24) 1.00 [ -0.27]( 1.37)
16 1.00 [ -0.00]( 0.00) 1.00 [ 0.27]( 0.14)
32 1.00 [ -0.00]( 0.66) 1.01 [ -1.48]( 2.65)
64 1.00 [ -0.00]( 5.72) 0.96 [ 4.32]( 5.64)
128 1.00 [ -0.00]( 0.10) 1.00 [ -0.20]( 0.18)
256 1.00 [ -0.00]( 2.52) 0.96 [ 4.04]( 9.70)
512 1.00 [ -0.00]( 0.68) 1.06 [ -5.52]( 0.36)


==================================================================
Test : longer running benchmarks
Units : Normalized throughput
Interpretation: Higher is better
Statistic : Median
==================================================================
Benchmark pct imp
ycsb-cassandra -0.64%
ycsb-mongodb 0.56%
deathstarbench-1x 0.30%
deathstarbench-2x 3.21%
deathstarbench-3x 2.18%
deathstarbench-6x -0.40%
mysql-hammerdb-64VU -0.63%
---

If folks are interested in how CONFIG_HZ=250 vs CONFIG_HZ=1000 stack up,
here you go (Note, there is slight variation between the two kernels
since CONFIG_HZ=250 version is closer to v6.14-rc1 and CONFIG_HZ=1000
results are based on v6.14-rc2)

o Benchmark results (CONFIG_HZ=250 vs CONFIG_HZ=1000)

==================================================================
Test : hackbench
Units : Normalized time in seconds
Interpretation: Lower is better
Statistic : AMean
==================================================================
Case: mainline[pct imp](CV) mainline_1000HZ[pct imp](CV)
1-groups 1.00 [ -0.00]( 9.88) 1.02 [ -1.57]( 8.66)
2-groups 1.00 [ -0.00]( 3.49) 0.95 [ 4.57]( 5.02)
4-groups 1.00 [ -0.00]( 1.22) 0.99 [ 0.62]( 1.27)
8-groups 1.00 [ -0.00]( 0.80) 1.00 [ -0.31]( 2.75)
16-groups 1.00 [ -0.00]( 1.40) 0.99 [ 1.17]( 2.02)


==================================================================
Test : tbench
Units : Normalized throughput
Interpretation: Higher is better
Statistic : AMean
==================================================================
Clients: mainline[pct imp](CV) mainline_1000HZ[pct imp](CV)
1 1.00 [ 0.00]( 1.14) 1.00 [ -0.45]( 0.40)
2 1.00 [ 0.00]( 1.57) 1.01 [ 1.40]( 0.49)
4 1.00 [ 0.00]( 1.16) 1.01 [ 1.16]( 0.94)
8 1.00 [ 0.00]( 0.84) 1.01 [ 1.24]( 0.64)
16 1.00 [ 0.00]( 0.63) 1.00 [ -0.33]( 1.04)
32 1.00 [ 0.00]( 0.96) 1.00 [ -0.30]( 1.13)
64 1.00 [ 0.00]( 0.52) 1.00 [ 0.27]( 0.58)
128 1.00 [ 0.00]( 0.83) 1.00 [ -0.45]( 1.40)
256 1.00 [ 0.00]( 0.67) 1.00 [ 0.15]( 1.14)
512 1.00 [ 0.00]( 0.03) 0.99 [ -0.73]( 0.51)
1024 1.00 [ 0.00]( 0.19) 0.99 [ -1.29]( 0.62)


==================================================================
Test : stream-10
Units : Normalized Bandwidth, MB/s
Interpretation: Higher is better
Statistic : HMean
==================================================================
Test: mainline[pct imp](CV) mainline_1000HZ[pct imp](CV)
Copy 1.00 [ 0.00](15.75) 0.93 [ -6.67](16.03)
Scale 1.00 [ 0.00]( 7.43) 0.97 [ -2.70]( 6.26)
Add 1.00 [ 0.00](10.35) 0.94 [ -6.42]( 8.35)
Triad 1.00 [ 0.00]( 9.34) 0.92 [ -8.26]( 9.56)


==================================================================
Test : stream-100
Units : Normalized Bandwidth, MB/s
Interpretation: Higher is better
Statistic : HMean
==================================================================
Test: mainline[pct imp](CV) mainline_1000HZ[pct imp](CV)
Copy 1.00 [ 0.00]( 2.19) 0.96 [ -3.52]( 6.03)
Scale 1.00 [ 0.00]( 6.17) 1.00 [ -0.22]( 5.78)
Add 1.00 [ 0.00]( 5.88) 0.99 [ -1.05]( 5.25)
Triad 1.00 [ 0.00]( 1.40) 0.96 [ -3.64]( 5.25)


==================================================================
Test : netperf
Units : Normalized Througput
Interpretation: Higher is better
Statistic : AMean
==================================================================
Clients: mainline[pct imp](CV) mainline_1000HZ[pct imp](CV)
1-clients 1.00 [ 0.00]( 0.14) 0.99 [ -0.94]( 0.06)
2-clients 1.00 [ 0.00]( 0.85) 1.00 [ -0.43]( 0.80)
4-clients 1.00 [ 0.00]( 0.77) 0.99 [ -0.63]( 0.65)
8-clients 1.00 [ 0.00]( 0.53) 1.00 [ -0.49]( 0.82)
16-clients 1.00 [ 0.00]( 0.91) 0.99 [ -0.55]( 0.68)
32-clients 1.00 [ 0.00]( 0.99) 0.99 [ -1.01]( 0.95)
64-clients 1.00 [ 0.00]( 1.35) 0.98 [ -1.58]( 1.55)
128-clients 1.00 [ 0.00]( 1.20) 0.99 [ -1.38]( 1.23)
256-clients 1.00 [ 0.00]( 4.41) 0.99 [ -0.68]( 4.92)
512-clients 1.00 [ 0.00](59.74) 0.99 [ -1.16](57.12)


==================================================================
Test : schbench
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) mainline_1000HZ[pct imp](CV)
1 1.00 [ -0.00]( 7.39) 0.74 [ 26.19](27.55)
2 1.00 [ -0.00](10.14) 0.87 [ 13.33](19.98)
4 1.00 [ -0.00]( 3.53) 0.92 [ 8.33](10.66)
8 1.00 [ -0.00](11.48) 0.93 [ 7.14]( 4.06)
16 1.00 [ -0.00]( 7.02) 1.02 [ -1.72]( 5.33)
32 1.00 [ -0.00]( 3.79) 1.02 [ -2.15]( 8.92)
64 1.00 [ -0.00]( 8.22) 1.05 [ -4.60]( 6.06)
128 1.00 [ -0.00]( 4.38) 0.91 [ 9.48](10.15)
256 1.00 [ -0.00](19.81) 1.01 [ -0.60](27.12)
512 1.00 [ -0.00]( 2.41) 0.91 [ 9.45]( 2.54)


==================================================================
Test : new-schbench-requests-per-second
Units : Normalized Requests per second
Interpretation: Higher is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) mainline_1000HZ[pct imp](CV)
1 1.00 [ 0.00]( 0.00) 0.99 [ -0.59]( 0.15)
2 1.00 [ 0.00]( 0.00) 1.00 [ -0.29]( 0.15)
4 1.00 [ 0.00]( 0.15) 1.00 [ -0.29]( 0.15)
8 1.00 [ 0.00]( 0.00) 1.00 [ -0.29]( 0.00)
16 1.00 [ 0.00]( 0.00) 1.00 [ -0.29]( 0.00)
32 1.00 [ 0.00]( 0.42) 0.98 [ -1.54]( 0.43)
64 1.00 [ 0.00]( 2.45) 1.03 [ 3.09]( 1.17)
128 1.00 [ 0.00]( 0.20) 0.98 [ -1.51]( 0.20)
256 1.00 [ 0.00]( 0.84) 1.02 [ 1.53]( 0.27)
512 1.00 [ 0.00]( 0.97) 1.02 [ 2.16]( 0.21)


==================================================================
Test : new-schbench-wakeup-latency
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) mainline_1000HZ[pct imp](CV)
1 1.00 [ -0.00](12.81) 1.09 [ -9.09](11.08)
2 1.00 [ -0.00]( 8.85) 1.18 [-18.18]( 4.08)
4 1.00 [ -0.00](21.61) 1.00 [ -0.00]( 6.39)
8 1.00 [ -0.00]( 8.13) 1.18 [-18.18]( 6.88)
16 1.00 [ -0.00]( 4.08) 1.00 [ -0.00](13.62)
32 1.00 [ -0.00]( 4.43) 1.08 [ -8.33]( 0.00)
64 1.00 [ -0.00]( 4.71) 1.16 [-15.79]( 8.13)
128 1.00 [ -0.00]( 2.35) 0.96 [ 3.55]( 5.26)
256 1.00 [ -0.00]( 1.52) 0.80 [ 19.58]( 1.00)
512 1.00 [ -0.00]( 0.40) 0.92 [ 8.09]( 0.48)


==================================================================
Test : new-schbench-request-latency
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: mainline[pct imp](CV) mainline_1000HZ[pct imp](CV)
1 1.00 [ -0.00]( 2.46) 0.99 [ 0.52]( 1.53)
2 1.00 [ -0.00]( 3.16) 0.95 [ 5.11]( 0.50)
4 1.00 [ -0.00]( 3.16) 0.94 [ 5.62]( 0.14)
8 1.00 [ -0.00]( 1.00) 0.99 [ 0.80]( 0.24)
16 1.00 [ -0.00]( 3.77) 0.99 [ 0.53]( 0.00)
32 1.00 [ -0.00]( 1.94) 1.01 [ -1.00]( 0.66)
64 1.00 [ -0.00]( 1.07) 0.95 [ 5.38]( 5.72)
128 1.00 [ -0.00]( 0.44) 1.02 [ -1.65]( 0.10)
256 1.00 [ -0.00]( 7.02) 1.19 [-19.01]( 2.52)
512 1.00 [ -0.00]( 1.10) 0.89 [ 10.56]( 0.68)

==================================================================
Test : longer running benchmarks
Units : Normalized throughput
Interpretation: Higher is better
Statistic : Median
==================================================================
Benchmark pct imp
ycsb-cassandra -1.25%
ycsb-mongodb -1.33%
deathstarbench-1x -2.27%
deathstarbench-2x -4.85%
deathstarbench-3x -0.25%
deathstarbench-6x -0.86%
mysql-hammerdb-64VU -1.78%
---

With that overwhelming amount of data out of the way, please feel free
to add:

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

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

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 1e78caa21436..34e7d09320f7 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -74,10 +74,10 @@ unsigned int sysctl_sched_tunable_scaling = SCHED_TUNABLESCALING_LOG;
/*
* Minimal preemption granularity for CPU-bound tasks:
*
- * (default: 0.75 msec * (1 + ilog(ncpus)), units: nanoseconds)
+ * (default: 0.70 msec * (1 + ilog(ncpus)), units: nanoseconds)
*/
-unsigned int sysctl_sched_base_slice = 750000ULL;
-static unsigned int normalized_sysctl_sched_base_slice = 750000ULL;
+unsigned int sysctl_sched_base_slice = 700000ULL;
+static unsigned int normalized_sysctl_sched_base_slice = 700000ULL;
const_debug unsigned int sysctl_sched_migration_cost = 500000UL;

--
Thanks and Regards,
Prateek