On 6/22/21 5:38 AM, Zhu Lingshan wrote: > -static int xen_is_user_mode(void) > -{ > - const struct xen_pmu_data *xenpmu_data = get_xenpmu_data(); > + state |= PERF_GUEST_ACTIVE; > > - if (!xenpmu_data) { > - pr_warn_once("%s: pmudata not initialized\n", __func__); > - return 0; > + if (xenpmu_data->pmu.pmu_flags & PMU_SAMPLE_PV) { > + if (xenpmu_data->pmu.pmu_flags & PMU_SAMPLE_USER) > + state |= PERF_GUEST_USER; > + } else { > + if (!!(xenpmu_data->pmu.r.regs.cpl & 3)) > + state |= PERF_GUEST_USER; Please drop "!!", it's not needed here. And use "else if". With that, for Xen bits: Reviewed-by: Boris Ostrovsky <boris.ostrvsky@xxxxxxxxxx> -boris