Andi Kleen wrote: >>On a working kernel on an Opteron, we have normally 4 directories >>in /dev/oprofile : >> >># ls -ld /dev/oprofile/? >>drwxr-xr-x 1 root root 0 15. Nov 12:38 /dev/oprofile/0 >>drwxr-xr-x 1 root root 0 15. Nov 12:38 /dev/oprofile/1 >>drwxr-xr-x 1 root root 0 15. Nov 12:38 /dev/oprofile/2 >>drwxr-xr-x 1 root root 0 15. Nov 12:38 /dev/oprofile/3 >> >>With linux-2.6.19-rc5, the first one (0) is missing and we get 1,2,3 > > > That's because 0 was never available. It is used by the NMI watchdog. > The new kernel doesn't give it to oprofile anymore. > > >>Maybe the 'bug' is in oprofile tools, that currently expect to find '0' > > > Yes, it's likely a user space issue. > > -Andi
OProfile has a simplistic view of the performance monitoring hardware. The routines in libop/op_alloc_counter.c determine what set of performance registers is available from the processor in use. There is no check to see what registers are actually available in the /dev/oprofile directory. opcontrol executes ophelp to determine which specific counters to count which events. The function map_event_to_counter() in libop/op_alloc_counter.c does the actual selection. It seems what is needed is for map_event_to_counter() to check to see which counters are available and mark the others as unavailable. -Will ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
