Juan, On Tue, Sep 2, 2008 at 12:17 PM, Juan Ángel Lorenzo <[EMAIL PROTECTED]> wrote: > Stéphane, > > I don't know if it is due to a lack of experience compiling perfmon and > pfmon, but I can't make pfmon work properly. First, I compile > libpfm-3.51 in my home directory without any problem. Then, I compile > pfmon-3.5 after modifying PFMROOTDIR in config.mk to make sure it looks > for pflib in my home directory. Regardless it's compiled either > dinamically or statically, I get an error when running pfmon: > > Ok, 2.6.16 is using the old v2.0 perfmon2 interface. That activates some backward compatibility code in pfmon. From the trace below, it seems there is something broken in the module that managed the old sampling format. I will take a look at that and get back to you. There is not much testing going on on this code path, so I am not surprised...
> ./pfmon ../tests/noploop 100<pfmon fatal error @ [23806:23806] > ip=0x400000000008f440 addr=0x18> > <pfmon fatal error>, pfmon backtrace: > 0x4000000000021d10 <pfmon_backtrace+0x40> > 0x400000000000fb40 <segv_handler+0x80> > 0xa0000000000107e0 > 0x400000000008f440 <default_smpl_check_new_samples+0xb0> > 0x4000000000017c70 <__pfmon_process_smpl_buffer+0x140> > 0x400000000001bd70 <pfmon_process_smpl_buf+0xa0> > 0x4000000000040b10 <load_pid_map+0xf0> > 0x4000000000030240 <pfmon_sdesc_new+0x8d0> > 0x40000000000316d0 <task_create+0x610> > 0x4000000000036b00 <task_mainloop+0x130> > 0x400000000003b370 <measure_task+0xc0> > 0x400000000000bd60 <run_measurements+0x1100> > 0x4000000000016a00 <main+0x2ef0> > 0x20000000002bfc20 <__libc_start_main+0x280> > 0x4000000000006860 <_start+0x80> > pfmon got a fatal SIGSEGV signal > noploop for 100 seconds > > > First time I tried, I realised pfmon was looking for libpfm in > /usr/local despite the changes in config.mk. I modified LD_LIBRARY_PATH > and then ldd showed that pfmon was now looking for libpfm in my home > directory. However, it won't work. I don't know if it has something to > do with the installed kernel patch or maybe the kernel version: > > uname -a > Linux cn001 2.6.16.53-0.8_SFS2.3_0-default #1 SMP Mon Nov 5 14:15:47 CET 2007 > ia64 ia64 ia64 GNU/Linux > > Any idea? > > > > El lun, 01-09-2008 a las 15:27 +0200, stephane eranian escribió: >> Please try the web site. You don't need to be root to compile it. >> Then you can run it from your home dir. Does not need to be root >> to run. >> >> Grab at: http://perfmon2.sf.net >> >> and try again. >> >> >> On Mon, Sep 1, 2008 at 3:14 PM, Juan Ángel Lorenzo >> <[EMAIL PROTECTED]> wrote: >> > Hi, >> > >> > pfmon version is 3.2, and libpfm 3.2.0. Although I am not the admin of >> > the shared memory machine I am working on, I am almost sure it was >> > installed from the sourceforge website. Is it a too old version? >> > >> > El lun, 01-09-2008 a las 15:03 +0200, stephane eranian escribió: >> >> Juan, >> >> >> >> Are you using the latest pfmon/libpfm from the website/CVS? >> >> >> >> >> >> On Mon, Sep 1, 2008 at 2:41 PM, Juan Ángel Lorenzo >> >> <[EMAIL PROTECTED]> wrote: >> >> > Stéphane, >> >> > >> >> > I have modified the program to print the thread number inside the >> >> > producto() function and I ran it with one thread. See the output below: >> >> > >> >> > pfmon -uk --verb --follow-pthread --trigger-code-start=producto >> >> > --trigger-code-stop=producto --trigger-code-follow >> >> > -eIA64_INST_RETIRED,CPU_OP_CYCLES_ALL ./msxm_ijk_MP_COL >> >> > MATRICES/bcsstm36.rcs 25 >> >> > >> >> > Hi, I'm thread 0 >> >> > Hi, I'm thread 0 >> >> > ...... >> >> > Hi, I'm thread 0 >> >> > Hi, I'm thread 0 >> >> > >> >> > loaded 18427 text symbols from /proc/kallsyms >> >> > loaded 13140 data symbols from /proc/kallsyms >> >> > table_size=166 effective=19 min_addr=0x4000000000000ae0 >> >> > loaded 19 text symbols from ELF file ./msxm_ijk_MP_COL >> >> > table_size=166 effective=15 min_addr=0x6000000000003a50 >> >> > loaded 15 data symbols from ELF file ./msxm_ijk_MP_COL >> >> > 1 event set(s) defined >> >> > long sampling periods(val/mask/seed): 0/0x0/00/0x0/0 >> >> > short sampling periods(val/mask/seed): 0/0x0/00/0x0/0 >> >> > start code trigger @0x40000000000021c0 >> >> > stop code trigger @0x40000000000021c0 >> >> > [PMC4(pmc4)=0x2000809 m=0 e=0 s=0 i=0 thres=0 all=0 es=0x08 plm=9 >> >> > umask=0x0 pm=0 ism=0x2 oi=0] IA64_INST_RETIRED >> >> > [PMD4(pmd4)] >> >> > [PMC5(pmc5)=0x2001209 m=0 e=0 s=0 i=0 thres=0 all=0 es=0x12 plm=9 >> >> > umask=0x0 pm=0 ism=0x2 oi=0] CPU_OP_CYCLES_ALL >> >> > [PMD5(pmd5)] >> >> > pmd setup for event set0: >> >> > [pmd4 set=0 ival=0x0 long_rate=0x0 short_rate=0x0 mask=0x0 seed=0 >> >> > randomize=n] >> >> > [pmd5 set=0 ival=0x0 long_rate=0x0 short_rate=0x0 mask=0x0 seed=0 >> >> > randomize=n] >> >> > exec-pattern=* >> >> > [3427] started task: ./msxm_ijk_MP_COL MATRICES/bcsstm36.rcs 25 >> >> > follow_exec=n follow_vfork=n follow_fork=n follow_pthread=y >> >> > [3427] monitoring ./msxm_ijk_MP_COL MATRICES/bcsstm36.rcs 25 ... >> >> > results are on terminal >> >> > [3427] installed start code breakpoint at 0x40000000000021c0 >> >> > [3427] monitoring not activated >> >> > measurements started at Mon Sep 1 14:29:10 2008 >> >> > >> >> > [3427] clone [3428] >> >> > [3428] monitoring ./msxm_ijk_MP_COL MATRICES/bcsstm36.rcs 25 ... >> >> > results are on terminal >> >> > [3428] installed start code breakpoint at 0x40000000000021c0 >> >> > [3428] monitoring not activated >> >> > [3428] task exited >> >> > 0 IA64_INST_RETIRED ./msxm_ijk_MP_COL >> >> > (3427,3428,3427) >> >> > 0 CPU_OP_CYCLES_ALL ./msxm_ijk_MP_COL >> >> > (3427,3428,3427) >> >> > [3428] detached >> >> > [3427] task exited >> >> > 0 IA64_INST_RETIRED ./msxm_ijk_MP_COL >> >> > (3427,3427,-1) >> >> > 0 CPU_OP_CYCLES_ALL ./msxm_ijk_MP_COL >> >> > (3427,3427,-1) >> >> > [3427] detached >> >> > created tasks : 2 >> >> > maximum tasks : 2 >> >> > maximum active tasks : 2 >> >> > measurements completed at Mon Sep 1 14:29:18 2008 >> >> > >> >> > >> >> > Juan Ángel >> >> > >> >> > El lun, 01-09-2008 a las 14:14 +0200, stephane eranian escribió: >> >> >> Juan, >> >> >> >> >> >> >> >> >> I would like you to try and run your program with only one thread >> >> >> active. >> >> >> From the trace below, it looks like you never reach the start trigger >> >> >> location. >> >> >> You could also modify the program to print something in producto() >> >> >> just to >> >> >> make sure. >> >> >> >> >> >> >> >> >> > start code trigger @0x4000000000002200 >> >> >> > stop code trigger @0x4000000000002200 >> >> >> > [15536] installed start code breakpoint at 0x4000000000002200 >> >> >> > [15536] monitoring not activated >> >> >> > measurements started at Fri Aug 29 15:31:36 2008 >> >> >> > [15536] clone [15537] >> >> >> > [15536] clone [15538] >> >> >> > [15537] monitoring ./msxm_ijk_MP_COL MATRICES/bcsstm36.rcs 25 ... >> >> >> > [15537] installed start code breakpoint at 0x4000000000002200 >> >> >> > [15538] installed start code breakpoint at 0x4000000000002200 >> >> >> > Tiempo de ejecucion: 0.035023 >> >> > >> >> > >> > >> > > > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel