Re: 2.6.19-rc5: known regressions (v3)

From: William Cohen
Date: Wed Nov 15 2006 - 11:43:26 EST


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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/