Hi Stephane, I observed one strange thing. I can build libpfm to support Montecito only and not generic IA64 and Itanium I&II. But I can not do this with pfmon. I can change config.mk accordingly but linking fails with unresolved symbols:
gcc -o pfmon pfmon.o pfmon_smpl.o pfmon_util.o pfmon_system.o pfmon_task.o pfmon_symbols.o pfmon_results.o pfmon_hash.o pfmon_smpl_dfl.o pfmon_os.o pfmon_util_ia64.o pfmon_montecito.o -O2 -g -Wall -Werror -D_REENTRANT -I/usr/local/include -DCONFIG_PFMON_IA64 -DPFMON_DEBUG -DDATADIR=\"/usr/local/share/pfmon\" -I. -I/usr/include/libelf -DCONFIG_PFMON_DEMANGLE -D_GNU_SOURCE -DCONFIG_PFMON_IA64 -DPFMON_DEBUG -g -DCONFIG_PFMON_MONTECITO -static smpl_mod/libsmplfmt.a -L/usr/local/lib -lpfm -L/usr/lib -liberty -lpthread -lelf -lm -lrt -ldl smpl_mod/libsmplfmt.a(dear_itanium.o): In function `dear_ita_info': /root/pfmon/pfmon/smpl_mod/dear_itanium.c:32: undefined reference to `pfm_ita_is_dear' /root/pfmon/pfmon/smpl_mod/dear_itanium.c:33: undefined reference to `pfm_ita_is_dear_tlb' smpl_mod/libsmplfmt.a(dear_itanium2.o): In function `dear_ita2_info': /root/pfmon/pfmon/smpl_mod/dear_itanium2.c:34: undefined reference to `pfm_ita2_is_dear' /root/pfmon/pfmon/smpl_mod/dear_itanium2.c:35: undefined reference to `pfm_ita2_is_dear_alat' /root/pfmon/pfmon/smpl_mod/dear_itanium2.c:35: undefined reference to `pfm_ita2_is_dear_tlb' Would it be possible to get rid of this stuff and create a version of pfmon that is only aware of Montecito? Regards, Michael Michael Kluge wrote: > Hi Stephane, > > /usr/bin/pfmon is a link to /usr/local/bin/pfmon. profile.pl is using an > absoulte path to pfmon, so I had to set up this link. > > > Regards, Michael > > Stephane Eranian wrote: >> Michael, >> >> On Tue, Apr 17, 2007 at 09:37:46AM +0200, Michael Kluge wrote: >>>>> mars:~ # /usr/bin/pfmon ...... sequential >>>>> cannot write PMCs: Invalid argument >>>>> session interrupted by user >>>>> mars:~ # ldd /usr/bin/pfmon >>>>> linux-gate.so.1 => (0xa000000000000000) >>>>> libpfm.so.3 => /usr/local/lib/libpfm.so.3 (0x2000000000068000) >>>>> libpthread.so.0 => /lib/libpthread.so.0 (0x20000000000d0000) >>>>> libelf.so.0 => /usr/lib/libelf.so.0 (0x2000000000108000) >>>>> libm.so.6.1 => /lib/libm.so.6.1 (0x2000000000148000) >>>>> librt.so.1 => /lib/librt.so.1 (0x2000000000218000) >>>>> libdl.so.2 => /lib/libdl.so.2 (0x2000000000238000) >>>>> libc.so.6.1 => /lib/libc.so.6.1 (0x2000000000250000) >>>>> /lib/ld-linux-ia64.so.2 (0x2000000000000000) >>>>> mars:~ # ls -la /usr/local/lib/libpfm.so.3 >>>>> lrwxrwxrwx 1 root root 15 Apr 16 19:55 /usr/local/lib/libpfm.so.3 -> >>>>> libpfm.so.3.2.0 >>>>> mars:~ # ls -la /usr/local/lib/libpfm.so.3.2.0 >>>>> -rwxr-xr-x 1 root root 535372 Apr 16 19:55 /usr/local/lib/libpfm.so.3.2.0 >>>>> >>> pfm_write_pmcs.2924: CPU0 [8430] pmc0 is unimplemented or no-access >>> pmc_type=41 >>> sys_perfmonctl.4938: CPU0 [8430] context unlocked >>> sys_perfmonctl.4939: CPU0 [8430] spinlock_irq_restore ctx e000801aeec28000 >>> by [8430] >>> sys_perfmonctl.4951: CPU0 [8430] cmd=pfm_write_pmcs ret=-22 >> Pfmon is trying to write pmc0 which is not accessible on Montecito. >> I have seen this before and it was du to some mismatch between pfmon and >> libpfm. >> >> If you did make and make install in libpfm without changing the config.mk, >> then you >> get libpfm.so in /usr/local/lib. >> >> Similarly, if you typed make and make install with pfmon, you have it in >> /usr/local/bin. >> Yet it seems for your output above that you find it in /usr/bin. Are you >> using the right >> pfmon? Simply try running pfmon from the directory you compiled it in. >> >> -- >> -Stephane > > -- ____________________________________________ Michael Kluge, M.Sc. Technische Universität Dresden Center for Information Services and High Performance Computing (ZIH) D-01062 Dresden Germany Contact: Willersbau, Room HRSK 151 Phone: (+49) 351 463-32424 Fax: (+49) 351 463-37773 e-mail: [EMAIL PROTECTED] WWW: http://www.tu-dresden.de/zih _______________________________________________ perfmon mailing list [email protected] http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/
