Hi, ----- Original Message ----- From: Bill Holler <[email protected]> Date: Wednesday, July 23, 2008 1:25 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
> Do these samples include times when the processor is halted > in the idle loop? No, the processor is in C0 (if that is what you asked), the thread I am sampling does a sleep. -Vinay > > Bill > > > 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. > > > > 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 > > > > _______________________________________________ > tesla-dev mailing list > tesla-dev at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/tesla-dev
