From: John F. <jo...@so...> - 2009-06-30 18:54:37
|
John Faith wrote: > Jean Pihet wrote: >> Hi, >> >> On Tuesday 30 June 2009 18:22:43 John Faith wrote: >>>> # opcontrol --reset >>>> oprofile: using arm/armv7 >>>> >> It looks like you do not have support for ARMv7 oprofile in the >> kernel, or the >> oprofile.ko module is not loaded. Cf. below. >> >> >>> I get no output from --reset, except when the daemon is running, I get >>> "Signalling daemon". Could this point to a misconfiguration problem? Hi Jean, After rebuilding the kernel, I did see "oprofile: using arm/armv7" from dmesg, but missed it in my non-console telnet window before. >>> >>> ... >>>> # cat /proc/interrupts >>>> CPU0 >>>> 3: 32658 INTC CP15 PMNC >>>> 11: 0 INTC prcm >>>> 12: 0 INTC DMA >>>> 25: 2 INTC OMAP2 Display >>>> 37: 18662 INTC gp timer >>>> 56: 292 INTC i2c_omap >>>> 57: 0 INTC i2c_omap >>>> 61: 0 INTC i2c_omap >>>> 72: 93393 INTC serial >>>> 162: 0 GPIO ads7846 >>>> 166: 64814 GPIO eth0 >>>> 369: 0 - TWL4030 Keypad >>>> 373: 0 - twl4030_usb >>>> Err: 0 >>>> >>> I get: >>> # cat /proc/interrupts >>> CPU0 >>> 11: 0 INTC prcm >>> 12: 43 INTC DMA >>> 21: 1288205 INTC SGX ISR >>> 24: 0 INTC Omap 3 Camera ISP >>> 25: 0 INTC OMAP DSS >>> 37: 414036 INTC gp timer >>> 56: 198 INTC i2c_omap >>> 57: 0 INTC i2c_omap >>> 61: 0 INTC i2c_omap >>> 72: 432 INTC serial idle, serial >>> 73: 3 INTC serial idle, serial >>> 74: 2 INTC serial idle, serial >>> 77: 0 INTC ehci_hcd:usb2 >>> 83: 156 INTC mmc0 >>> 92: 1877 INTC musb_hdrc >>> 93: 0 INTC musb_hdrc >>> 335: 0 GPIO ads7846 >>> 336: 19257 GPIO eth0 >>> 369: 3 twl4030 twl4030_keypad >>> 379: 0 twl4030 rtc0 >>> 384: 0 twl4030 mmc0 >>> >> You should have a line for the PMNC irq. Is oprofile enabled in your >> kernel? >> Is the oprofile module loaded? >> ... > > I saw no oprofile errors in dmesg indicating that the interrupt could > not be obtained on boot, so maybe enabling DEBUG in > arch/arm/oprofile/op_model_v7.c might help. BTW, the kernel version > is 2.6.29-rc3-omap1. > After the rebuild, I do get see the interrupt listed when profiling: # cat /proc/interrupts | grep PMNC 3: 1655 INTC CP15 PMNC Enabling register dump with DEBUG in op_model_v7.c gives: PMNC registers dump: <6>PMNC =0x41002008 PMNC =0x41002008 <6>CNTENS=0x80000003 CNTENS=0x80000003 <6>INTENS=0x80000003 INTENS=0x80000003 <6>FLAGS =0x00000000 FLAGS =0x00000000 <6>SELECT=0x00000001 SELECT=0x00000001 <6>CCNT =0xfff0bdc0 CCNT =0xfff0bdc0 <6>CNT[0] count =0xfffcf2c0 CNT[0] count =0xfffcf2c0 <6>CNT[0] evtsel=0x00000055 CNT[0] evtsel=0x00000055 <6>CNT[1] count =0xfffcf2c0 CNT[1] count =0xfffcf2c0 <6>CNT[1] evtsel=0x00000003 CNT[1] evtsel=0x00000003 <6>CNT[2] count =0x00000000 CNT[2] count =0x00000000 <6>CNT[2] evtsel=0x00000000 CNT[2] evtsel=0x00000000 <6>CNT[3] count =0x00000000 CNT[3] count =0x00000000 <6>CNT[3] evtsel=0x00000000 CNT[3] evtsel=0x00000000 I wonder if it's something simpler like permissions? Sample dump files should end up in var/lib/oprofile/samples/current/, right? Thanks, John |