On Thursday, September 22, 2022 8:34 PM, Liang, Kan wrote: > > To solve the problem, introduce and export pt_get_curr_event() for KVM > > to get current pt event. > > I don't think the current pt event is created by KVM. IIUC, the patch basically > expose the event created by the other user to KVM. That doesn't sounds > correct. Yes, that's the host PT event running on the current CPU. Not created by KVM. > > I think it should be perf's responsibility to decide which events should be > disabled, and which MSRs should be switched. Because only perf can see all the > events. The users should only see the events they created. For other pmu cases, yes. For PT, its management is simpler than other pmu resources and PT PMU is much simpler. It doesn't have a scheduler to manage events. I think the usage here is similar to the CPU thread scheduling case. When we have CPUs isolated from the CPU scheduler, i.e. no scheduler for those CPUs, basically we rely on users to ping tasks to those CPUs (e.g. taskset). For the commit log, probably we don't need those KVM details here. Simplify a bit: Add a function to expose the current running PT event to users. One usage is in KVM, it needs to get and disable the running host PT event before VMEnter to the guest and resumes the event after VMexit to host.