Re: [PATCH 0/3] perf/core, x86: unify perfctr bitmasks

From: Stephane Eranian
Date: Tue Mar 30 2010 - 06:12:04 EST


On Mon, Mar 29, 2010 at 6:36 PM, Robert Richter <robert.richter@xxxxxxx> wrote:
> This patch set unifies performance counter bit masks for x86. All mask
> are almost the same for all x86 models and thus can use the same macro
> definitions in arch/x86/include/asm/perf_event.h. It removes duplicate
> code. There is also a patch that reverts some changes of the big
> perf_counter -> perf_event rename.
>

But there are still fields which are unique to each vendor:
- GUEST vs. HOST on AMD
- ANY_THREAD on Intel.

For instance, I noticed that in

arch/x86/kernel/cpu/perf_event.c:__hw_perf_event_init():

if (attr->type == PERF_TYPE_RAW) {
hwc->config |= x86_pmu.raw_event(attr->config);
if ((hwc->config & ARCH_PERFMON_EVENTSEL_ANY) &&
perf_paranoid_cpu() && !capable(CAP_SYS_ADMIN))
return -EACCES;
return 0;
}

Assumes ANY also exists on AMD processors. That is not the case.
This check needs to be moved into an Intel specific function.
--
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/