Re: [PATCH v2 15/18] perf: arm_spe: Handle guest/host exclusion flags

From: Mark Rutland
Date: Fri Dec 20 2019 - 13:10:05 EST


On Fri, Dec 20, 2019 at 02:30:22PM +0000, Andrew Murray wrote:
> A side effect of supporting the SPE in guests is that we prevent the
> host from collecting data whilst inside a guest thus creating a black-out
> window. This occurs because instead of emulating the SPE, we share it
> with our guests.

We used to permit this; do we know if anyone is using it?

Thanks,
Mark.

> Let's accurately describe our capabilities by using the perf exclude
> flags to prevent !exclude_guest and exclude_host flags from being used.
>
> Signed-off-by: Andrew Murray <andrew.murray@xxxxxxx>
> ---
> drivers/perf/arm_spe_pmu.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/perf/arm_spe_pmu.c b/drivers/perf/arm_spe_pmu.c
> index 2d24af4cfcab..3703dbf459de 100644
> --- a/drivers/perf/arm_spe_pmu.c
> +++ b/drivers/perf/arm_spe_pmu.c
> @@ -679,6 +679,9 @@ static int arm_spe_pmu_event_init(struct perf_event *event)
> if (attr->exclude_idle)
> return -EOPNOTSUPP;
>
> + if (!attr->exclude_guest || attr->exclude_host)
> + return -EOPNOTSUPP;
> +
> /*
> * Feedback-directed frequency throttling doesn't work when we
> * have a buffer of samples. We'd need to manually count the
> --
> 2.21.0
>