Can anyone tell me how we can find out the cache misses and branch missprediction in a program using codeanalyst?
Abhishek R. Nath
It reads like you're using Linux to profile. If you've already installed the latest CodeAnalyst, I would suggest updating the oprofile kernel module. If you don't want to do that, you can edit the "Current event-based profile" and select between 2-4 events that you're interested in. For example: 0x0C3 (Retired mispredicted branch), 0x041 (Data cache misses), 0x076 (CPU clocks not halted), and 0x040 (Data cache accesses).
You also might just try running an IBS Ops profile, which can also provide the information and does not require multiplexing events.
The "Assess Performance" profile configuration contains those performance events. If you want to create a configuration that just contains the Retired mispredicted branch instructions (0xC3) and Data cache misses (0x41) that's possible too.
If you want to use Instruction-based profiling, IBS Ops can give you branch mispredicition and data cache misses. You can specify the data view once the profile is complete to see the data you're particularly interested in.
I hope this helps,
I can't use the Access Performance profile and Investigate Data Access. It shows a warning message as:
"Current CodeAnalyst Kernel Module does not support event multiplexing.
Please use profile which has less than 4 events. or.
update the CodeAanlyst Kernel Module one event group."
What is the warning and how can I solve this?
Retrieving data ...