On Tue, Mar 26, 2019 at 09:55:35PM +0100, Thomas Gleixner wrote:
> On Wed, 27 Feb 2019, Ricardo Neri wrote:
> > @@ -62,7 +67,18 @@ static inline void set_comparator(struct hpet_hld_data 
> > *hdata,
> >  static void kick_timer(struct hpet_hld_data *hdata, bool force)
> >  {
> >     bool kick_needed = force || !(hdata->flags & HPET_DEV_PERI_CAP);
> > -   unsigned long new_compare, count;
> > +   unsigned long tsc_curr, tsc_delta, new_compare, count;
> > +
> > +   /* Start obtaining the current TSC and HPET counts. */
> > +   tsc_curr = rdtsc();
> > +
> > +   if (kick_needed)
> > +           count = get_count();
> 
> Can you please keep the TSC code in one block and the HPET block in the
> next one? Having this inbetween is really bad to follow.
> 
> It really does not matter whether you read the HPET counter before or after
> the calculation. This is a crystal ball estimation anyway so a few cyles
> more or less are completely irrelevant.

Sure! I will implement this change.

Thanks and BR,
Ricardo

> 
> > +   tsc_delta = (unsigned long)watchdog_thresh * (unsigned long)tsc_khz
> > +               * 1000L;
> > +   hdata->tsc_next = tsc_curr + tsc_delta;
> > +   hdata->tsc_next_error = tsc_delta >> 6;
> 
> Thanks,
> 
>       tglx

Reply via email to