[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ce4f4f7a-6033-4354-972e-2a066f8d5190@amd.com>
Date: Fri, 14 Feb 2025 09:03:57 +0530
From: K Prateek Nayak <kprateek.nayak@....com>
To: zihan zhou <15645113830zzh@...il.com>
CC: <bsegall@...gle.com>, <dietmar.eggemann@....com>, <juri.lelli@...hat.com>,
<linux-kernel@...r.kernel.org>, <mgorman@...e.de>, <mingo@...hat.com>,
<peterz@...radead.org>, <rostedt@...dmis.org>, <vincent.guittot@...aro.org>,
<vschneid@...hat.com>, "Gautham R. Shenoy" <gautham.shenoy@....com>
Subject: Re: [PATCH V3 1/2] sched: Reduce the default slice to avoid tasks
getting an extra tick
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@...il.com>
> Reviewed-by: Vincent Guittot <vincent.guittot@...aro.org>
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@....com>
> ---
> 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
Powered by blists - more mailing lists