On Fri, Feb 12, 2010 at 5:17 PM, heechul Yun <heechul....@gmail.com> wrote: > I'm experimenting performance counter to find deterministic events. > > I originally thought that the number of retired instructions will be the > same for every run of the program with the same input. However, it was not. > > The following is the result with the 'task' example provided in libpfm4 > package. > > ./task -e "inst_retired" gcc > gcc: no input files > 1252403 inst_retired > > ./task -e "inst_retired" gcc > gcc: no input files > 1252405 inst_retired > > > As you can see above, they are different for each run. I only enabled 'user' > mode counting to exclude any perturbation. > I would not call this a major perturbation, it's more like noise. One way this might be introduced is when you are interrupted very near the kernel/user boundary, for instance as you are about to leave the kernel. I would not worry about those. It will be more significant as you add more events or as you compete with other users on the system.
> fds[0].hw.exclude_kernel = 1; > fds[0].hw.exclude_idle = 1; > fds[0].hw.exclude_hv = 1; > > > What is the reason of this unexpected non-determinism? > > Best Regards, > > Heechul > > > ------------------------------------------------------------------------------ > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > perfmon2-devel mailing list > perfmon2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/perfmon2-devel > > ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel