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 >
