[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190515155426.GA10526@ranerica-svr.sc.intel.com>
Date: Wed, 15 May 2019 08:54:26 -0700
From: Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>
To: Randy Dunlap <rdunlap@...radead.org>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...nel.org>, Borislav Petkov <bp@...e.de>,
Ashok Raj <ashok.raj@...el.com>,
Joerg Roedel <joro@...tes.org>,
Andi Kleen <andi.kleen@...el.com>,
Peter Zijlstra <peterz@...radead.org>,
"Ravi V. Shankar" <ravi.v.shankar@...el.com>, x86@...nel.org,
linux-kernel@...r.kernel.org, iommu@...ts.linux-foundation.org,
Ricardo Neri <ricardo.neri@...el.com>,
"H. Peter Anvin" <hpa@...or.com>, Tony Luck <tony.luck@...el.com>,
Clemens Ladisch <clemens@...isch.de>,
Arnd Bergmann <arnd@...db.de>,
Philippe Ombredanne <pombredanne@...b.com>,
Kate Stewart <kstewart@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
Stephane Eranian <eranian@...gle.com>,
Suravee Suthikulpanit <Suravee.Suthikulpanit@....com>
Subject: Re: [RFC PATCH v3 03/21] x86/hpet: Calculate ticks-per-second in a
separate function
On Tue, May 14, 2019 at 07:23:47AM -0700, Randy Dunlap wrote:
> On 5/14/19 7:01 AM, Ricardo Neri wrote:
> > It is easier to compute the expiration times of an HPET timer by using
> > its frequency (i.e., the number of times it ticks in a second) than its
> > period, as given in the capabilities register.
> >
> > In addition to the HPET char driver, the HPET-based hardlockup detector
> > will also need to know the timer's frequency. Thus, create a common
> > function that both can use.
> >
> > Cc: "H. Peter Anvin" <hpa@...or.com>
> > Cc: Ashok Raj <ashok.raj@...el.com>
> > Cc: Andi Kleen <andi.kleen@...el.com>
> > Cc: Tony Luck <tony.luck@...el.com>
> > Cc: Clemens Ladisch <clemens@...isch.de>
> > Cc: Arnd Bergmann <arnd@...db.de>
> > Cc: Philippe Ombredanne <pombredanne@...b.com>
> > Cc: Kate Stewart <kstewart@...uxfoundation.org>
> > Cc: "Rafael J. Wysocki" <rafael.j.wysocki@...el.com>
> > Cc: Stephane Eranian <eranian@...gle.com>
> > Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@....com>
> > Cc: "Ravi V. Shankar" <ravi.v.shankar@...el.com>
> > Cc: x86@...nel.org
> > Signed-off-by: Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>
> > ---
> > drivers/char/hpet.c | 31 ++++++++++++++++++++++++-------
> > include/linux/hpet.h | 1 +
> > 2 files changed, 25 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
> > index d0ad85900b79..bdcbecfdb858 100644
> > --- a/drivers/char/hpet.c
> > +++ b/drivers/char/hpet.c
> > @@ -836,6 +836,29 @@ static unsigned long hpet_calibrate(struct hpets *hpetp)
> > return ret;
> > }
> >
> > +u64 hpet_get_ticks_per_sec(u64 hpet_caps)
> > +{
> > + u64 ticks_per_sec, period;
> > +
> > + period = (hpet_caps & HPET_COUNTER_CLK_PERIOD_MASK) >>
> > + HPET_COUNTER_CLK_PERIOD_SHIFT; /* fs, 10^-15 */
> > +
> > + /*
> > + * The frequency is the reciprocal of the period. The period is given
> > + * femtoseconds per second. Thus, prepare a dividend to obtain the
>
> * in femtoseconds per second.
>
Thanks for your review Randy! I'll fix this grammar issue.
> > + * frequency in ticks per second.
> > + */
> > +
> > + /* 10^15 femtoseconds per second */
> > + ticks_per_sec = 1000000000000000uLL;
>
> ULL is overwhelmingly used in the kernel.
>
Sure, I'll update it.
BR,
Ricardo
Powered by blists - more mailing lists