> 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 > >>> > >>> >
