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

Reply via email to