From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965862AbbBDKm7 (ORCPT ); Wed, 4 Feb 2015 05:42:59 -0500 Received: from cpsmtpb-ews07.kpnxchange.com ([213.75.39.10]:54720 "EHLO cpsmtpb-ews07.kpnxchange.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933428AbbBDKmz (ORCPT ); Wed, 4 Feb 2015 05:42:55 -0500 Message-ID: <1423046573.23022.2.camel@x220> Subject: Re: [PATCH v2 2/2] powerpc: add running_clock for powerpc to prevent spurious softlockup warnings From: Paul Bolle To: Cyril Bur Cc: Valentin Rothberg , linux-kernel@vger.kernel.org, mpe@ellerman.id.au, drjones@redhat.com, dzickus@redhat.com, akpm@linux-foundation.org, mingo@kernel.org, uobergfe@redhat.com, chaiw.fnst@cn.fujitsu.com, fabf@skynet.be, atomlin@redhat.com, benzh@chromium.org, schwidefsky@de.ibm.com Date: Wed, 04 Feb 2015 11:42:53 +0100 In-Reply-To: <1420774478-16760-3-git-send-email-cyrilbur@gmail.com> References: <1420774478-16760-1-git-send-email-cyrilbur@gmail.com> <1420774478-16760-3-git-send-email-cyrilbur@gmail.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4 (3.10.4-4.fc20) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 04 Feb 2015 10:42:54.0092 (UTC) FILETIME=[54B854C0:01D04067] X-RcptDomain: vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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. Should I submit a trivial patch to fix that typo or do you prefer to do that yourself? Thanks, Paul Bolle