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