From: Cyril Bur <cyrilbur@gmail.com>
To: Paul Bolle <pebolle@tiscali.nl>,
Andrew Morton <akpm@linux-foundation.org>
Cc: Valentin Rothberg <valentinrothberg@gmail.com>,
linux-kernel@vger.kernel.org, mpe@ellerman.id.au,
drjones@redhat.com, dzickus@redhat.com, mingo@kernel.org,
uobergfe@redhat.com, chaiw.fnst@cn.fujitsu.com, fabf@skynet.be,
atomlin@redhat.com, benzh@chromium.org, schwidefsky@de.ibm.com
Subject: Re: [PATCH v2 2/2] powerpc: add running_clock for powerpc to prevent spurious softlockup warnings
Date: Thu, 05 Feb 2015 15:08:25 +1100 [thread overview]
Message-ID: <1423109305.2680.6.camel@cyril> (raw)
In-Reply-To: <1423046573.23022.2.camel@x220>
On Wed, 2015-02-04 at 11:42 +0100, Paul Bolle wrote:
> On Fri, 2015-01-09 at 14:34 +1100, Cyril Bur wrote:
> > On POWER8 virtualised kernels the VTB register can be read to have a view of
> > time that only increases while the guest is running. This will prevent guests
> > from seeing time jump if a guest is paused for significant amounts of time.
> >
> > On POWER7 and below virtualised kernels stolen time is subtracted from
> > local_clock as a best effort approximation. This will not eliminate spurious
> > warnings in the case of a suspended guest but may reduce the occurance in the
> > case of softlockups due to host over commit.
> >
> > Bare metal kernels should avoid reading the VTB as KVM does not restore sane
> > values when not executing, the approxmation is fine as host kernels won't
> > observe any stolen time.
> >
> > Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
> > ---
> > V2:
> > Replaced the use of sched_clock_with local_clock it was used originally in
> > the softlockup detector.
> > Added #ifdef CONFIG_PPC_PSERIES and optimised the non lpar + vtb cases.
>
> This became commit 3e5aba51e929 ("powerpc: add running_clock for powerpc
> to prevent spurious softlockup warnings") in today's linux-next (ie,
> next-20150204). I noticed because a script I use to check linux-next
> spotted a trivial issues with it.
>
> > ---
> > arch/powerpc/kernel/time.c | 32 ++++++++++++++++++++++++++++++++
> > 1 file changed, 32 insertions(+)
> >
> > diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
> > index fa7c4f1..fd35e5b 100644
> > --- a/arch/powerpc/kernel/time.c
> > +++ b/arch/powerpc/kernel/time.c
> > @@ -621,6 +621,38 @@ unsigned long long sched_clock(void)
> > return mulhdu(get_tb() - boot_tb, tb_to_ns_scale) << tb_to_ns_shift;
> > }
> >
> > +
> > +#ifdef CONFIG_PPC_PSERIES
> > +
> > +/*
> > + * Running clock - attempts to give a view of time passing for a virtualised
> > + * kernels.
> > + * Uses the VTB register if available otherwise a next best guess.
> > + */
> > +unsigned long long running_clock(void)
> > +{
> > + /*
> > + * Don't read the VTB as a host since KVM does not switch in host timebase
> > + * into the VTB when it takes a guest off the CPU, reading the VTB would
> > + * result in reading 'last switched out' guest VTB.
> > + *
> > + * Host kernels are often compiled with CONFIG_PSERIES checked, it would be
>
> You obviously wanted to use CONFIG_PPC_PSERIES here.
>
Yep, sorry.
> Should I submit a trivial patch to fix that typo or do you prefer to do
> that yourself?
>
Indeed a trivial fixup, I've pasted the hunk below. Andrew are you ok to
fold it in?
Thanks,
Cyril
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index fd35e5b..770dc16 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -636,8 +636,8 @@ unsigned long long running_clock(void)
* into the VTB when it takes a guest off the CPU, reading the VTB would
* result in reading 'last switched out' guest VTB.
*
- * Host kernels are often compiled with CONFIG_PSERIES checked, it would be
- * unsafe to rely only on the #ifdef above.
+ * Host kernels are often compiled with CONFIG_PPC_PSERIES checked, it
+ * would be unsafe to rely only on the #ifdef above.
*/
if (firmware_has_feature(FW_FEATURE_LPAR) &&
cpu_has_feature(CPU_FTR_ARCH_207S))
> Thanks,
>
>
> Paul Bolle
>
next prev parent reply other threads:[~2015-02-05 4:08 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-09 3:34 [PATCH v2 0/2] Quieten softlockup detector on virtualised kernels Cyril Bur
2015-01-09 3:34 ` [PATCH v2 1/2] Add another clock for use with the soft lockup watchdog Cyril Bur
2015-02-10 6:19 ` Chai Wen
2015-01-09 3:34 ` [PATCH v2 2/2] powerpc: add running_clock for powerpc to prevent spurious softlockup warnings Cyril Bur
2015-02-04 10:42 ` Paul Bolle
2015-02-05 4:08 ` Cyril Bur [this message]
2015-02-02 4:58 ` [PATCH v2 0/2] Quieten softlockup detector on virtualised kernels Cyril Bur
2015-02-02 23:08 ` Andrew Morton
2015-02-05 20:48 ` Don Zickus
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=1423109305.2680.6.camel@cyril \
--to=cyrilbur@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=atomlin@redhat.com \
--cc=benzh@chromium.org \
--cc=chaiw.fnst@cn.fujitsu.com \
--cc=drjones@redhat.com \
--cc=dzickus@redhat.com \
--cc=fabf@skynet.be \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=pebolle@tiscali.nl \
--cc=schwidefsky@de.ibm.com \
--cc=uobergfe@redhat.com \
--cc=valentinrothberg@gmail.com \
/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.