From: Lott, J. <jer...@ti...> - 2006-08-03 19:27:48
|
Hi, I was using oprofile on MIPS and I noticed what appears to be a bug in counter allocation that affects all architectures. Here's my example: [test@timesys-y91ad5l oprofile]$ ophelp -c mips/34K --check-events INSTRUCTIONS:500:0:1:1 BRANCH_MISPREDICTS:500:0:1:1 BRANCH_INSNS_LAUNCHED:500:0:1:1 L2_MISSES:500:0:1:1 Couldn't allocate hardware counters for the selected events. This is a valid combination of events, and it should have been able to allocate. It appears to be because the allocate_counter is returning too soon. This keeps it from checking all possible combinations. I attached a patch that changes the return into a continue. After that it arrives at the correct result: [test@timesys-y91ad5l oprofile]$ utils/ophelp -c mips/34K --check-events INSTRUCTIONS:500:0:1:1 BRANCH_MISPREDICTS:500:0:1:1 BRANCH_INSNS_LAUNCHED:500:0:1:1 L2_MISSES:500:0:1:1 1 0 2 3=20 I think I crafted the patch correctly, let me know if I need to change something. I wasn't sure if I was supposed to add my name as an author within the c file, or if just the entry in the changelog was enough. I went with just the changelog. Thanks, Jeremiah Lott TimeSys Corporation |