Messages in this thread | | | Date | Tue, 30 Mar 2010 12:11:46 +0200 | Subject | Re: [PATCH 0/3] perf/core, x86: unify perfctr bitmasks | From | Stephane Eranian <> |
| |
On Mon, Mar 29, 2010 at 6:36 PM, Robert Richter <robert.richter@amd.com> 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.
| |