Hi,
For those of you living on the bleeding edge and who are playing with perfmon for 2.6.30 from the GIT tree, here are some basic instructions on how to enable/disable debugging. As of 2.6.29, perfmon debugging uses the dynamic debug infrastructure via pr_debug(). That means you need the following config parameters enabled when you build your kernel: - CONFIG_DEBUG_FS - CONFIG_DYNAMIC_DEBUG Then you need to mount the debugfs filesystem somewhere: # mount -t debugfs none /debugfs In 2.6.30, the dynamic debug infrastructure has been refined so you can enabled/disabled individual debug messages. To list the perfmon debug messages available (shown here just for perfmon_rw.c): # cat /debugfs/dynamic_debug/control | fgrep perfmon_rw perfmon/perfmon_rw.c:634 [perfmon_rw]__pfm_read_pmds - "%s.%d: CPU%d [%d]: set%u pmd%u=0x%llx sw_thr=%llu lval=0x%llx\012" perfmon/perfmon_rw.c:604 [perfmon_rw]__pfm_read_pmds - "%s.%d: CPU%d [%d]: pmd%u cannot read, because not used\012" perfmon/perfmon_rw.c:587 [perfmon_rw]__pfm_read_pmds - "%s.%d: CPU%d [%d]: event set%u does not exist\012" perfmon/perfmon_rw.c:574 [perfmon_rw]__pfm_read_pmds - "%s.%d: CPU%d [%d]: pmd%u is not implemented/unaccessible\012" perfmon/perfmon_rw.c:515 [perfmon_rw]__pfm_write_pmcs p "%s.%d: CPU%d [%d]: set%u pmc%u=0x%llx a_pmu=%d u_pmcs=0x%llx\012" perfmon/perfmon_rw.c:466 [perfmon_rw]__pfm_write_pmcs - "%s.%d: CPU%d [%d]: pmc%u no support for PFM_REGFL_NO_EMUL64\012" perfmon/perfmon_rw.c:449 [perfmon_rw]__pfm_write_pmcs - "%s.%d: CPU%d [%d]: event set%u does not exist\012" perfmon/perfmon_rw.c:438 [perfmon_rw]__pfm_write_pmcs - "%s.%d: CPU%d [%d]: pmc%u: invalid flags=0x%x\012" perfmon/perfmon_rw.c:426 [perfmon_rw]__pfm_write_pmcs - "%s.%d: CPU%d [%d]: pmc%u is not available\012" perfmon/perfmon_rw.c:358 [perfmon_rw]__pfm_write_pmds p "%s.%d: CPU%d [%d]: set%u pmd%u=0x%llx flags=0x%x a_pmu=%d ctx_pmd=0x%llx s_reset=0x%llx l_reset=0x%llx s_pmds=0x%llx r_pmds=0x%llx o_pmds=0x%llx o_thres=%llu compat=%d eventid=%llx\012" perfmon/perfmon_rw.c:239 [perfmon_rw]__pfm_write_pmds - "%s.%d: CPU%d [%d]: event set%u does not exist\012" perfmon/perfmon_rw.c:228 [perfmon_rw]__pfm_write_pmds - "%s.%d: CPU%d [%d]: invalid reset_pmds=0x%llx for pmd%u\012" perfmon/perfmon_rw.c:216 [perfmon_rw]__pfm_write_pmds - "%s.%d: CPU%d [%d]: invalid smpl_pmds=0x%llx for pmd%u\012" perfmon/perfmon_rw.c:206 [perfmon_rw]__pfm_write_pmds - "%s.%d: CPU%d [%d]: pmd%u: invalid flags=0x%x\012" perfmon/perfmon_rw.c:195 [perfmon_rw]__pfm_write_pmds - "%s.%d: CPU%d [%d]: pmd%u is not available\012" To enable a particular printk: # echo -n 'file perfmon_rw.c line 358 +p' >/debugfs/dynamic_debug/control To disable a particular printk: # echo -n 'file perfmon_rw.c line 358 -p' >/debugfs/dynamic_debug/control More documentation about this feature in the kernel source tree: Documentation/dynamic-debug-howto.txt ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel