Messages in this thread | | | Date | Sun, 7 May 2023 10:19:38 +0800 | From | Chen Yu <> | Subject | Re: [PATCH 1/1] sched: Consider CPU contention in frequency & load-balance busiest CPU selection |
| |
On 2023-05-05 at 20:02:36 +0200, Dietmar Eggemann wrote: > Hi Chenyu, > > On 05/05/2023 09:10, Chen Yu wrote: > > On 2023-04-06 at 17:50:30 +0200, Dietmar Eggemann wrote: > >> Use new cpu_boosted_util_cfs() instead of cpu_util_cfs(). > >> > >> The former returns max(util_avg, runnable_avg) capped by max CPU > >> capacity. CPU contention is thereby considered through runnable_avg. > >> > >> The change in load-balance only affects migration type `migrate_util`. > >> > >> Suggested-by: Vincent Guittot <vincent.guittot@linaro.org> > >> Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com> > >> > > Tested on Intel Sapphire Rapids which has 2x56C/112T = 224 CPUs. > > The test tries to check if this is any impact on find_busiest_queue() > > so it was tested with cpufreq governor performance. > > The baseline is the 6.3 sched/core branch on top of > > Commit 67fff302fc445a ("sched/fair: Introduce SIS_CURRENT to wake up"), > > and compared to the code with current patch applied. > > > > In summary no obvious difference and some small improvements on tbench > > were observed so far: > > many thanks for the test results! > > Could you share the parameter lists you use for the individual tests? > This would make it easier to understand the results and rerun the tests > on similar machines. > Yes. The test parameters are all tested with cpufreq governor performance, turbo disabled and C-states > C1 are disabled.
netperf: Loopback test. Launched 1 netserver. Launched 25%, 50%, 75%, 100%, 125%, 150%, 175%, 200% of the online CPUs number of netperf client. Tested type is TCP_RR and UDP_RR respectively.
for i in $(seq 1 $nr_netperf); do netperf -4 -H 127.0.0.1 -t $type -c -C -l 100 & done
tbench: Loopback test. Launched 1 tbench_srv. Launched 25%, 50%, 75%, 100%, 125%, 150%, 175%, 200% of the online CPUs number of tbench client.
tbench -t 100 $nr_tbench 127.0.0.1
schbench: Number of worker threads is 25% of the online CPUs. Number of message threads is 1, 2, 4, 8 respectively.
schbench -m $nr_message -t $nr_worker -r 100
hackbench: Number of hackbench group is 1, 2, 4, 8 respectively. Work types are "process" and "threads" respectively. IPC mode are "pipe" and "sockets". The number of fd in each group is 12.5% of the CPU number.
hackbench -g $nr_group --$work_type --$ipc_mode -l 5000000 -s 100 -f $num_fds
thanks, Chenyu
| |