lkml.org 
[lkml]   [2011]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC 2/2] Make x86 calibrate_delay run in parallel.
On 03/31/2011 12:46 PM, Ingo Molnar wrote:
> * Avi Kivity<avi@redhat.com> wrote:
>
> > On 03/31/2011 11:57 AM, Ingo Molnar wrote:
> > >>
> > >> I am not trying to be argumentative. I never got an understanding of
> > >> what was going wrong with that earlier patch and am hoping for some
> > >> understanding now.
> > >
> > > Well, if calibrate_delay() calls run in parallel then different
> > > hyperthreads will impact each other.
> >
> > It's different but not more wrong. If delay() later runs on a thread whose
> > sibling is busy, it will in fact give more accurate results.
>
> No, it's actively wrong: because it makes the delay loop *run faster* when
> other siblings
>
> I.e. this shortens udelay(X)s potentially, which is far more dangerous than the
> current conservative approach of potentially *lengthening* them.
>
> > > Really, there's no good reason why every CPU should be calibrated on a
> > > system running identical CPUs, right? Mixed-frequency systems are rather
> > > elusive on x86.
> >
> > Good point. And udelay() users are probably not sensitive to accuracy anyway
> > (which changes with load and thermal conditions).
>
> True with one important distinction: they are only sensitive to one fact, that
> the delay should not be *shorter* than specified. By shortening udelay() we
> essentially overclock the hardware's tolerances - not good.
>

Makes sense. But I think the thermally controlled cpu frequency
violates this in some way - if calibration is run while the cpu is how
and udelay is later run when it is cool then it could execute faster.

How important is udelay() for hardware timing these days, btw?

--
error compiling committee.c: too many arguments to function



\
 
 \ /
  Last update: 2011-03-31 12:53    [W:0.039 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site