Re: [PATCH 3/7] perf, x86: Implement IBS event configuration

From: Peter Zijlstra
Date: Wed Sep 14 2011 - 11:35:39 EST


On Wed, 2011-09-07 at 18:36 +0200, Robert Richter wrote:
> +static struct perf_ibs perf_ibs_fetch = {
> + .pmu = {
> + .event_init = perf_ibs_init,
> + .add = perf_ibs_add,
> + .del = perf_ibs_del,
> + },
> + .msr = MSR_AMD64_IBSFETCHCTL,
> + .config_mask = IBS_FETCH_CONFIG_MASK,
> + .cnt_mask = IBS_FETCH_MAX_CNT,
> + .enable_mask = IBS_FETCH_ENABLE,
> +};
> +
> +static struct perf_ibs perf_ibs_op = {
> + .pmu = {
> + .event_init = perf_ibs_init,
> + .add = perf_ibs_add,
> + .del = perf_ibs_del,
> + },
> + .msr = MSR_AMD64_IBSOPCTL,
> + .config_mask = IBS_OP_CONFIG_MASK,
> + .cnt_mask = IBS_OP_MAX_CNT,
> + .enable_mask = IBS_OP_ENABLE,
> };

Both those .pmu things want:

.task_ctx_nr = perf_invalid_context,

disabling per-task events, or you need to create a new context and
somehow fix per-task scheduling for these two things.

Adding two task contexts (one for each type) really isn't nice.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/