On Tue, Oct 4, 2011 at 12:03 AM, Peter Senna Tschudin <peter.se...@gmail.com > wrote:
> Hi Rohan. > > It is really good reference. Thanks! > > Peter > > On Mon, Oct 3, 2011 at 1:17 AM, rohan puri <rohan.pur...@gmail.com> wrote: > > > > > > On Mon, Oct 3, 2011 at 6:57 AM, Peter Senna Tschudin < > peter.se...@gmail.com> > > wrote: > >> > >> Dear list members, > >> > >> I'm following: > >> > >> http://people.virginia.edu/~chg5w/page3/assets/MeasuringUnix.pdf > >> > >> And I'm trying to measure executing time of simple operations with > RDTSC. > >> > >> See the code below: > >> > >> #include <stdio.h> > >> #define CPU_THOUSAND_HZ 800000 > >> typedef unsigned long long ticks; > >> static __inline__ ticks getticks(void) { > >> unsigned a, d; > >> asm("cpuid"); > >> asm volatile("rdtsc" : "=a" (a), "=d" (d)); > >> return (((ticks)a) | (((ticks)d) << 32)); > >> } > >> > >> void main() { > >> ticks tickBegin, tickEnd; > >> tickBegin = getticks(); > >> > >> // code to time > >> > >> tickEnd = getticks(); > >> double time = (tickEnd-tickBegin)/CPU_THOUSAND_HZ; > >> > >> printf ("%Le\n", time); > >> } > >> > >> How can the C code detects the correct value for CPU_THOUSAND_HZ? The > >> problems I see are: > >> - It is needed to collect the information for the CPU that will run > >> the process. On Core i7 processors, different cores can run at > >> different clock speed at same time. > >> - If the clock changes during the execution of process, what should > >> it do? When is the best time for collecting the clock speed? > >> > >> The authors of the paper are not sure about the effects of > >> "asm("cpuid");" Does it ensure that the entire process will run on the > >> same CPU, and will serialize it avoiding out of order execution by the > >> CPU? > >> > >> Thank you very much! :-) > >> > >> Peter > >> > >> > >> -- > >> Peter Senna Tschudin > >> peter.se...@gmail.com > >> gpg id: 48274C36 > >> > >> _______________________________________________ > >> Kernelnewbies mailing list > >> Kernelnewbies@kernelnewbies.org > >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > > > Hi Peter, > > > > Excellent reference http://en.wikipedia.org/wiki/Time_Stamp_Counter > > > > Also, your interpretation is right. There are lots of things which need > to > > be considered instead of setting CPU_THOUSAND_HZ to any particular value, > > some of them are whether its multi-core or single core CPU. On multi-core > > its quite difficult to get the correct answers, The problems are > mentioned > > in the above wiki link. > > > > Regards, > > Rohan Puri > > > > > > -- > Peter Senna Tschudin > peter.se...@gmail.com > gpg id: 48274C36 > Welcome :) Regards, Rohan Puri
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies