Thanks Boris, I will fix this in V8
On 6/23/2021 1:31 AM, Boris Ostrovsky wrote:
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