On Thu, May 03, 2018 at 02:30:25PM +0200, Paolo Bonzini wrote: > On 03/05/2018 14:02, Alexander Shishkin wrote: > > I don't see why. System-wide tracing takes place while perf record is > > running. When it's done, it's done and we can un-disable the guest > > tracing, without requiring the user to kill all their VMs and reload > > modules. > > Guest tracing can only be enabled at boot time, because the guest's > CPUID changes depending on whether it's enabled. And likewise if perf > record can do system-wide tracing at any time during the guest's > execution, we need to know it at boot time in order to set the guest CPUID. CPUID is immaterial here; the real trick is to disallow the use of PT at runtime when the host suddenly decides to trace the guest, in such a way that the guest user is informed that their trace is incomplete due to the host activity. Side note: the "system-wide tracing" is a misnomer here, all that matters is that there's a perf event on the host that wants to trace the guest, it can very well be a per-task event. Regards, -- Alex