The pfm_read_pmd() routine in include/linux/perfmon.h always attempts to
call pmd_sread if the register is marked as virtual. Therefore, in
pfm_pmu_register(), the PMU is required to have a pmd_sread function if
there are any virtual PMDs, not just if there are read-only virtual PMDs.
Signed-off-by: Kevin Corry <[EMAIL PROTECTED]>
Signed-off-by: Carl Love <[EMAIL PROTECTED]>
Index: linux-2.6.20-arnd3-perfmon4/perfmon/perfmon_pmu.c
===================================================================
--- linux-2.6.20-arnd3-perfmon4.orig/perfmon/perfmon_pmu.c
+++ linux-2.6.20-arnd3-perfmon4/perfmon/perfmon_pmu.c
@@ -290,7 +290,7 @@ int pfm_pmu_register(struct pfm_pmu_conf
return -EINVAL;
}
- if (nspec_ro && cfg->pmd_sread == NULL) {
+ if (nspec && cfg->pmd_sread == NULL) {
PFM_INFO("PMU config is missing pmd_sread()");
return -EINVAL;
}
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/