In the case of KVM with replay support, one of the events that must be handled is capturing the output of RDTSC
. It seemed like this would naturally be the type of event captured by Intel PT, however it seems this is not the case - as TSC packets simply occasionally report the TSC register value.
Is there something I've overlooked in the manuals? Does RDTSC
actually cause a TSC packet to be generated by Intel PT? It there any planned support for logging RDTSC
output similar to Page Modification Logging (PML?). This seems like it would greatly increase the performance of Virtual Machines, such that RDTSC
Exiting would not be required for many use cases.
For more complete information about compiler optimizations, see our Optimization Notice.