From: jszhang@marvell.com (Jisheng Zhang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/2] arm64: cpuidle: make arm_cpuidle_suspend() more efficient
Date: Thu, 24 Mar 2016 21:18:53 +0800 [thread overview]
Message-ID: <20160324211853.1ffebd49@xhacker> (raw)
In-Reply-To: <20160324111507.GB9323@arm.com>
Hi Will,
On Thu, 24 Mar 2016 11:15:07 +0000 Will Deacon wrote:
> On Thu, Mar 24, 2016 at 01:08:48PM +0800, Jisheng Zhang wrote:
> > This series is to improve the arm_cpuidle_suspend() a bit by removing/moving
> > out checks from this hot path.
> >
> > Jisheng Zhang (2):
> > arm64: cpuidle: remove cpu_ops check from arm_cpuidle_suspend()
> > arm64: cpuidle: make arm_cpuidle_suspend() a bit more efficient
> >
> > arch/arm64/kernel/cpuidle.c | 9 ++-------
> > 1 file changed, 2 insertions(+), 7 deletions(-)
>
> These look fine to me, but do you have any rough numbers showing what
> sort of improvement we get from this change?
Good question. Here it is:
I measured the 4096 * time from arm_cpuidle_suspend entry point to the
cpu_psci_cpu_suspend entry point. HW platform is Marvell BG4CT STB board.
1. only one shell, no other process, hot-unplug secondary cpus, execute the
following cmd
while true
do
sleep 0.2
done
before the patch: 1581220ns
after the patch: 1579630ns
reduced by 0.1%
2. only one shell, no other process, hot-unplug secondary cpus, execute the
following cmd
while true
do
md5sum /tmp/testfile
sleep 0.2
done
NOTE the testfile size should be larger than L1+L2 cache size
before the patch: 1961960ns
after the patch: 1912500ns
reduced by 2.5%
So the more complex the system load, the bigger the improvement.
Thanks,
Jisheng
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <jszhang@marvell.com>
To: Will Deacon <will.deacon@arm.com>, <catalin.marinas@arm.com>,
<lorenzo.pieralisi@arm.com>, <daniel.lezcano@linaro.org>
Cc: <linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/2] arm64: cpuidle: make arm_cpuidle_suspend() more efficient
Date: Thu, 24 Mar 2016 21:18:53 +0800 [thread overview]
Message-ID: <20160324211853.1ffebd49@xhacker> (raw)
In-Reply-To: <20160324111507.GB9323@arm.com>
Hi Will,
On Thu, 24 Mar 2016 11:15:07 +0000 Will Deacon wrote:
> On Thu, Mar 24, 2016 at 01:08:48PM +0800, Jisheng Zhang wrote:
> > This series is to improve the arm_cpuidle_suspend() a bit by removing/moving
> > out checks from this hot path.
> >
> > Jisheng Zhang (2):
> > arm64: cpuidle: remove cpu_ops check from arm_cpuidle_suspend()
> > arm64: cpuidle: make arm_cpuidle_suspend() a bit more efficient
> >
> > arch/arm64/kernel/cpuidle.c | 9 ++-------
> > 1 file changed, 2 insertions(+), 7 deletions(-)
>
> These look fine to me, but do you have any rough numbers showing what
> sort of improvement we get from this change?
Good question. Here it is:
I measured the 4096 * time from arm_cpuidle_suspend entry point to the
cpu_psci_cpu_suspend entry point. HW platform is Marvell BG4CT STB board.
1. only one shell, no other process, hot-unplug secondary cpus, execute the
following cmd
while true
do
sleep 0.2
done
before the patch: 1581220ns
after the patch: 1579630ns
reduced by 0.1%
2. only one shell, no other process, hot-unplug secondary cpus, execute the
following cmd
while true
do
md5sum /tmp/testfile
sleep 0.2
done
NOTE the testfile size should be larger than L1+L2 cache size
before the patch: 1961960ns
after the patch: 1912500ns
reduced by 2.5%
So the more complex the system load, the bigger the improvement.
Thanks,
Jisheng
next prev parent reply other threads:[~2016-03-24 13:18 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-24 5:08 [PATCH 0/2] arm64: cpuidle: make arm_cpuidle_suspend() more efficient Jisheng Zhang
2016-03-24 5:08 ` Jisheng Zhang
2016-03-24 5:08 ` [PATCH 1/2] arm64: cpuidle: remove cpu_ops check from arm_cpuidle_suspend() Jisheng Zhang
2016-03-24 5:08 ` Jisheng Zhang
2016-03-24 5:08 ` [PATCH 2/2] arm64: cpuidle: make arm_cpuidle_suspend() a bit more efficient Jisheng Zhang
2016-03-24 5:08 ` Jisheng Zhang
2016-03-24 11:15 ` [PATCH 0/2] arm64: cpuidle: make arm_cpuidle_suspend() " Will Deacon
2016-03-24 13:18 ` Jisheng Zhang [this message]
2016-03-24 13:18 ` Jisheng Zhang
2016-03-24 16:44 ` Lorenzo Pieralisi
2016-03-24 16:44 ` Lorenzo Pieralisi
2016-03-25 2:40 ` Jisheng Zhang
2016-03-25 2:40 ` Jisheng Zhang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160324211853.1ffebd49@xhacker \
--to=jszhang@marvell.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.