I'm trying to capture event count history (length==1) for each event set by creating an additional variable u64 oldval; in struct pfm_pmd; (kernel source)
I then tried doing this in two ways: 1. record pmds[i].value into oldval before event is switched out in pfm_save_pmds (perfmon_ctxsw.c) i.e. set->pmds[i].oldval = set->pmds[i].value; set->pmds[i].value = val; 2. just after event is switched in, in pfm_arch_restore_pmds (perfmon.c) I record set->pmds[i].value into oldval before set->pmds[i].value = val; for the new set. However, both these approaches dont work. I observe the difference in pfm_switch_sets(..) just after pfm_save_pmds() and in the first case oldval=value (diff=0) and in the second oldval=0 (diff=val). Any ideas what I'm missing and where to tap counts before(after) the event is switched out(in) ? Regards, Pradeep ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel