Subject: Re: Proposed changes to cc_microset().
To: Alan Barrett <apb@cequrux.com>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-kern
Date: 07/08/2004 14:40:28
On Thu, 8 Jul 2004, Alan Barrett wrote:

> Well, there's no nominal CPU speed in MI code, but MD code could have
> such a thing.  For example, the i386 speedstep code knows (or could
> know) both the old and new values of machdep.est.frequency.target.  They
> could be passed to an MI function that did something like this (details
> are probably wrong):

In that case, we could just set ci_tsc_freq from that, and setting 
ci_cc_denom to zero (for each CPU) could force use of ci_tsc_freq to 
be used as a fallback until a proper calculation can be made. 
(Currently, it doesn't exactly do that.) There's no need to reproduce 
much of cc_microset() in the est driver.

> Right.  But when i386 MD code changes machdep.est.frequency.target from
> the value it had at boot time to some new value, wouldn't it make sense
> to also change ci_tsc_freq by the same ratio?

Sure, but you have to do it for each CPU.

> And perhaps also add a
> way to to save a different value of ci_tsc_freq for each speed known by
> the MD code?

I'm not following you.

Frederick