Changlog: There are some changes from David Ahern's review: - let the tool to be off-box analysis by getting cpu isa from HEADER_CPUID feature and removing max-vcpu related code. - attach per vcpu record structure to the thread by adding a void pointer in "struct thread". - remove unnecessary tool argument(-v). The output example is following: # ./perf kvm-events report --event mmio --vcpu 3 Warning: Error: expected type 5 but read 4 Warning: Error: expected type 5 but read 0 Warning: unknown op '}' Analyze events for VCPU 3: MMIO Access Samples Samples% Time% Avg time 0xfee00380:W 45534 78.00% 84.76% 5.27us ( +- 0.77% ) 0xfee00300:W 4280 7.33% 9.37% 6.20us ( +- 1.91% ) 0xfee00300:R 4280 7.33% 3.34% 2.21us ( +- 1.53% ) 0xfee00310:W 4280 7.33% 2.52% 1.67us ( +- 0.71% ) Total Samples:58374, Total events handled time:283257.68us. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html