[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZFcKus/4Jo5oRuU8@chenyu5-mobl1>
Date: Sun, 7 May 2023 10:19:38 +0800
From: Chen Yu <yu.c.chen@...el.com>
To: Dietmar Eggemann <dietmar.eggemann@....com>
CC: Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
Qais Yousef <qyousef@...alina.io>,
Kajetan Puchalski <kajetan.puchalski@....com>,
"Morten Rasmussen" <morten.rasmussen@....com>,
Vincent Donnefort <vdonnefort@...gle.com>,
Quentin Perret <qperret@...gle.com>,
"Abhijeet Dharmapurikar" <adharmap@...cinc.com>,
<linux-kernel@...r.kernel.org>
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@...aro.org>
> >> Signed-off-by: Dietmar Eggemann <dietmar.eggemann@....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
Powered by blists - more mailing lists