On 2022-09-26 1:24 p.m., Jim Mattson wrote: > On Mon, Sep 26, 2022 at 9:55 AM Liang, Kan <kan.liang@xxxxxxxxxxxxxxx> wrote: >> >> >> >> On 2022-09-22 10:42 a.m., Wang, Wei W wrote: >>> On Thursday, September 22, 2022 10:10 PM, Peter Zijlstra wrote: >>>> On Thu, Sep 22, 2022 at 01:59:53PM +0000, Wang, Wei W wrote: >>>>> On Thursday, September 22, 2022 9:35 PM, Peter Zijlstra >>>>>> On Thu, Sep 22, 2022 at 12:58:49PM +0000, Wang, Wei W wrote: >>>>>> >>>>>>> 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. >>>>>> >>>>>> You cannot just kill a host event like that. If there is a host >>>>>> event, the guest looses out. >>>>> >>>>> OK. The intention was to pause the event (that only profiles host >>>>> info) when switching to guest, and resume when switching back to host. >>>> >>>> If the even doesn't profile guest context, then yes. If it does profile guest >>>> context, you can't. >>> >>> Seems better to add this one: >> >> If the guest host mode is enabled, I think the PT driver should not >> allow the perf tool to create a host event with !exclude_guest. > > While I agree that guest events should generally have priority over > host events, this is not consistent with the way "normal" PMU events > are handled. Only when the two events try to access a resource at the same time, we have to decide whether priority an event or share between events. But I don't think this is the case here. >From my understanding of the host-guest mode, the host PT event never traces the guest no matter whether the guest enables PT. So when VM-entry, there is only a guest PT event or no event. If so, I think the perf tool should warn the user if they try to create a host event with !exclude_guest, since the host event never traces a guest. Thanks, Kan