> And never executed halt, right?

No, I just made the sampling thread sleep for the "interval length". I did not 
halt the CPU.

-Vinay

----- Original Message -----
From: Mark Haywood <[email protected]>
Date: Wednesday, July 23, 2008 1:51 pm
Subject: Re: [tesla-dev] Experiment Results on APERF/MPERF registers - Need 
Clarification
To: Vinay Devadas <Vinay.Devadas at Sun.COM>
Cc: tesla-dev at opensolaris.org


> Vinay Devadas wrote:
> > Actually, I don't think that's right. I think that the only time you 
> would see APERF/MPERF equal to 1, is if the CPU was at P0 and never 
> > went idle.
> >
> > The whole experiment, CPU was in P0.
> >   
> 
> And never executed halt, right?
> 
> >
> >
> > ----- Original Message -----
> > From: Mark Haywood <Mark.Haywood at Sun.COM>
> > Date: Wednesday, July 23, 2008 1:29 pm
> > Subject: Re: [tesla-dev] Experiment Results on APERF/MPERF registers 
> - Need Clarification
> > To: Vinay Devadas <Vinay.Devadas at Sun.COM>
> > Cc: tesla-dev at opensolaris.org
> >
> >
> >   
> >> Vinay Devadas wrote:
> >>     
> >>> Hi,
> >>>
> >>> Here are the intial results I obtained for Turbo Mode using 
> >>>       
> >> APERF/MPERF, I need some clarification on the results.
> >>     
> >>> Remaining in P0, I sampled the ratio APERF and MPERF for different 
> 
> >>>       
> >> interval lengths. The computer I ran these experiments on does not 
> 
> >> have Turbo Mode feature, so the clock is expected to be in P0 
> >> throughout the experiment. I took 10 samples per interval length. I 
> 
> >> reset APERF/MPERF registers after every read.
> >>     
> >>> Interval Length = 1sec
> >>> 1 ratio = 0.953074
> >>> 2 ratio = 0.950529
> >>> 3 ratio = 0.955870
> >>> 4 ratio = 0.950900
> >>> 5 ratio = 0.947259
> >>> 6 ratio = 0.950799
> >>> 7 ratio = 0.947093
> >>> 8 ratio = 0.949705
> >>> 9 ratio = 0.947057
> >>> 10 ratio = 0.951851
> >>>
> >>> Interval Length = 10sec
> >>> 1 ratio = 0.852206
> >>> 2 ratio = 0.852150
> >>> 3 ratio = 0.846130
> >>> 4 ratio = 0.825831
> >>> 5 ratio = 0.763463
> >>> 6 ratio = 0.751499
> >>> 7 ratio = 0.782461
> >>> 8 ratio = 0.772478
> >>> 9 ratio = 0.750490
> >>> 10 ratio = 0.855870
> >>>
> >>> Ideally since we are in P0, I believe we expect the ratio = 
> >>>       
> >> APERF/MPERF to be 1 (correct me if I am wrong). When the interval 
> is 
> >> 1sec we see that the ratio is around 0.95, on the other hand when 
> >> interval is 10sec, the ratio is around 0.85 and during some 
> sampling 
> >> it goes down to 0.75 as well. 
> >>     
> >>>   
> >>>       
> >> Actually, I don't think that's right. I think that the only time 
> you 
> >> would see APERF/MPERF equal to 1 is if the CPU was at P0 and never 
> 
> >> went 
> >> idle.
> >>     
> >>> I understand the ratio cannot be one, as we have to execute 2 
> >>>       
> >> instructions to read both regs (APERF MPERF) and these two cannot 
> >> occur concurently. So practically, the ratio should be close to one 
> 
> >> (when in P0). But, I see values like 0.85 and 0.75, is this normal 
> ? 
> >> and this happens when the interval is large (10sec) in my example.
> >>     
> >>> By the way, I am taking care to make the 2 reads happens as 
> quickly 
> >>>       
> >> as possible,
> >>     
> >>> spl_high()
> >>> rdmsr (APERF)
> >>> rdmsr (MPERF)
> >>> spl0()
> >>>
> >>> Please let me know of any suggestions/explanations possible.
> >>>
> >>> Thanks,
> >>> Vinay
> >>>
> >>> _______________________________________________
> >>> tesla-dev mailing list
> >>> tesla-dev at opensolaris.org
> >>> http://mail.opensolaris.org/mailman/listinfo/tesla-dev
> >>>   
> >>>       
> 

Reply via email to