Hi Stephane, It worked!! The problem was that I'd built my kernel with perfmon_intel_nhm as a MODULE (M option and not * in the kernel config file), that was causing this error. I did not find pmu_desc directory on my system and realized that my kernel config options might be causing the problem. I had the impression that pfmon can load the module depending on what PMU it detects.
Thanks for your help and this wonderful tool. :-) Vishal On Nov 30, 2010, at 04:58, stephane eranian wrote: > Hi, > > I suspect the problem is that the kernel does not recognize > the model number for NHM-EX. I am sure it is not in my > latest 2.6.29 patch. But if you use the GIT tree, model 46 > is there so it should recognize it. > > What's in /sys/kernel/perfmon/pmu_desc/model? > Did you compile perfmon_intel_arch or perfmon_intel_nhm? > > Looking at the code in perfmon_intel_arch, I found some missing > Nehalem model numbers. But that shouldn't have caused the > problem. > > > On Tue, Nov 30, 2010 at 7:05 AM, Vishal Gupta <vis...@cc.gatech.edu> > wrote: >> Hi, >> >> Thanks for pointing me to that post. So I downloaded the latest >> libpfm >> and pfmon versions from CVS, but I still get the same error with >> them. >> pfmon is detecting Nehalem PMU on my machine...below is the output >> with -I option. I'm also pasting the output with debug and verbose >> options enabled if that can help in figuring out the issue. Thanks >> for >> your help. >> >> r...@host pfmon # pfmon -I >> detected host CPUs: 64-way 1064MHz/24.0MB -- Intel(R) Xeon(R) CPU >> X7560 @ 2.27GHz (stepping 6) >> detected pfmon PMU model: Intel Nehalem >> detected libpfm PMU model: Intel Nehalem >> max counters/set: 7 >> supported pfmon PMU models: [AMD64] [Pentium 4] [Intel Core] [Intel >> Atom] [Intel Nehalem] [Intel architectural PMU] >> supported sampling modules: [inst-hist] [detailed] [compact] [raw] >> pfmlib version: 3.10 >> kernel perfmon version: 2.9 >> kernel clock resolution: 1ns (1000000000Hz) >> host kernel architecture: x86_64 >> >> >> r...@host pfmon # ./pfmon --debug --verbose ls >> pfmlib_intel_nhm.c (pfm_nhm_get_num_event_masks.1493): event >> UNHALTED_CORE_CYCLES numasks=0 >> measuring at user privilege level ONLY >> pfmlib_intel_nhm.c (pfm_nhm_get_num_event_masks.1493): event >> OFFCORE_RESPONSE_0 numasks=17 >> pfmlib_intel_nhm.c (pfm_nhm_get_num_event_masks.1493): event >> OFFCORE_RESPONSE_0 numasks=17 >> pfmlib_intel_nhm.c (pfm_nhm_get_num_event_masks.1493): event >> OFFCORE_RESPONSE_0 numasks=17 >> 1 event set(s) defined >> long sampling periods(val/mask/seed): 0/0x0/0 >> short sampling periods(val/mask/seed): 0/0x0/0 >> unable to detect unavailable pmcs >> detection of unavailable registers failed, leave it to the kernel to >> decide >> run_measurements.480: [5296] library dispatch for set0 >> pfmlib_intel_nhm.c (pfm_nhm_get_num_event_masks.1493): event >> UNHALTED_CORE_CYCLES numasks=0 >> [FIXED_CTRL(pmc16)=0xa0 pmi0=1 en0=0x0 any0=0 pmi1=1 en1=0x2 any1=0 >> pmi2=1 en2=0x0 any2=0] UNHALTED_CORE_CYCLES >> [FIXED_CTR1(pmd17)] >> pmd setup for event set0: >> [pmd17 set=0 ival=0x0 long_rate=0x0 short_rate=0x0 mask=0x0 seed=0 >> randomize=n] >> exec-pattern=* >> [5299] started task: ls >> pfmon_sdesc_new.883: [5296] [5299] SDESC_NEW /bin/ls parent=4273792 >> pid=5296 tid=5299 flags=0x7fff000014b3 >> follow_exec=n follow_vfork=n follow_fork=n follow_pthread=n >> [5299] 64-bit binary >> task_pfm_init.1281: [5296] in: [5299] ctxid=-1 monitoring=0 >> refcnt=1: /bin/ls >> [5299] monitoring /bin/ls... >> task_pfm_init.1393: [5296] setup perfmon ctx for [5299] monitoring=1 >> refcnt=1: /bin/ls >> can't create perfmon context: Function not implemented >> >> Vishal >> >> On Nov 29, 2010, at 19:57, Corey Ashford wrote: >> >>> On 11/29/2010 01:25 PM, Vishal Gupta wrote: >>>> I digged into it a little bit more. The machine I'm using is a >>>> quad-socket machine with four Intel X7560 processors. X7560 is a >>>> Nehalem-EX processor. As pfmon runs fine on another Nehalem machine >>>> I've >>>> tested, does that mean that pfmon is broken for Nehalem-EX >>>> processors? >>>> Any clues on how to go about fixing this? >>>> >>>> Error message: >>>> >>>> r...@host linux-2.6 # pfmon ls >>>> detection of unavailable registers failed, leave it to the kernel >>>> to decide >>>> can't create perfmon context: Function not implemented >>>> >>> >>> I see a posting from Vince Weaver back in June that says for >>> Nehalem- >>> EX you need to check out the latest libpfm3 from CVS and build that, >>> rather than using the released version. >>> >>> I'm not certain of that, though, because I thought there had been a >>> final release of libpfm3 since then. >>> >>> In any case, it wouldn't hurt to give that a shot. >>> >>> - Corey >> >> >> ------------------------------------------------------------------------------ >> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! >> Tap into the largest installed PC base & get more eyes on your game >> by >> optimizing for Intel(R) Graphics Technology. Get started today with >> the >> Intel(R) Software Partner Program. Five $500 cash prizes are up for >> grabs. >> http://p.sf.net/sfu/intelisp-dev2dev >> _______________________________________________ >> perfmon2-devel mailing list >> perfmon2-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/perfmon2-devel >> ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel