[openib-general] cycles_to_units is incorrect in rdma_lat, rdma_bw.
Grant Grundler
iod00d at hp.com
Thu Jun 9 17:33:52 PDT 2005
On Thu, Jun 09, 2005 at 04:14:17PM -0700, Shirley Ma wrote:
> I used cyclets_to_units() get
cycles_to_units is a FP value, not a function.
get_cpu_mhz() is probably what you meant.
What does "cat /proc/cpuinfo" say on the boxes you see this on?
> Bandwidth peak (#0 to #972): 1852.72 MByte/sec
> Bandwidth average: 1852.67 MByte/sec
Does rdma_lat have the same issue?
What does rdma_lat report?
> This per secs cycles value is incorrect.
Yes, but I'd like to know what /proc/cpuinfo reports
since that's what it's based on.
> Either change the measurment to
> gettimeofday() to measure MB/s or
> measure the how many cycles per sec by doing something like that:
>
> #define MEASURE_TIME 16
>
> get_cycles(tbegin);
> sleep(MEASURE_TIME);
> get_cycles(tend)
> cycles_to_units = (tend-tbegin)/MEASURE_TIME
>
> to caculate the right MB/s throughput.
I think adding such a calibration to get_cpu_mhz()
so we can warn if /proc/cpuinfo data doesn't agree with
gettimeofday() and get_cycles().
Or use gettimeofday() for outside major loops and see how
well that correlates to the sum of the get_cycles() calls.
thanks,
grant
More information about the general
mailing list