Chuck, On Mon, Jun 26, 2006 at 01:33:03PM -0400, Chuck Ebbert wrote: > > Also a new version of pfmon, pfmon-3.2-060621, to take advantage of the update in libpfm: > > > > - support for 32-bit mode AMD64 processors > > - updated event name parsing to prepare for separate > > event unit mask management (Kevin Corry) > > - fix the detection of unavailable PMC registers. it was causing crashes > > when used with sampling. > > > > Note that I have tested 32-bit compiled libpfm,pfmon running on an 64-bit AMD > > perfmon kernel. I have not tested on a 32-bit AMD linux kernel because I don't > > have such setup. I would appreciate any feedback on this. > > 32-bit works great. Unfortunately, pfmon is far too limited for serious kernel > monitoring AFAICT. E.g. you can't select edge counting instead of cycle > counting. So you can count how many clock cycles were spent with interrupts I put in an option to enable this mode, do pfmon --help. I think it's called edge-mask. > disabled but you can't count how many times they were disabled. That's too bad > because using pfmon is so easy compared to writing a program. > Try the option, and let me know if it does not work for you. > And is someone working on kernel profiling tools that use the perfmon2 > infrastructure on i386? I'd like to see kernel-based profiling that lets > you use something like the existing 'readprofile' to retrieve results. This > would be a lot better than the current timer-based profiling. > You can do this on your athlon using pfmon already, you need to enable a different sampling module. Here is an example: $ pfmon --smpl-module=inst-hist -ecpu_clk_unhalted -k --long-smpl-period=100000 \ --resolve-addr --system-wide --session-timeout=10 This will sample (period of 100,000 cpu_clk_unhalted) in the kernel ONLY for 10s and print a flat profile sorted by #samples/instruction addresses. You can chose any event you want. Note that you can also use this output format in per-thread mode. Hope this helps. -- -Stephane - : send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |