[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1281947113.1926.1004.camel@laptop>
Date: Mon, 16 Aug 2010 10:25:13 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Lin Ming <ming.m.lin@...el.com>
Cc: linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>,
Robert Richter <robert.richter@....com>,
Frederic Weisbecker <fweisbec@...il.com>,
Don Zickus <dzickus@...hat.com>,
Cyrill Gorcunov <gorcunov@...il.com>, arjan@...ux.intel.com,
"Fu, Michael" <michael.fu@...el.com>
Subject: Re: perf, how to support multiple x86 hw pmus?
On Mon, 2010-08-16 at 16:09 +0800, Lin Ming wrote:
> Hi, all
>
> Here multiple x86 hw pmus means, for example, Intel "core" and "uncore"
> pmu. "core" pmu is to collect per cpu data, cpu-cycles, branch-misses,
> etc. "uncore" pmu is to collect per package data, L3 cache, Intel QPI,
> integrated memory controller, etc.
>
> I am going to add Intel uncore pmu support to perf. To reduce code
> duplicate, "uncore" pmu should reuse most of the "core" pmu code. But
> currently, the x86 core pmu code(arch/x86/kernel/cpu/perf_event.c) only
> supports one pmu, with a definition as below.
>
> static struct x86_pmu x86_pmu __read_mostly;
>
> Many functions use above global definition "x86_pmu". It seems to me
> that we need to re-structure x86 pmu code to support multiple hw pmus.
>
> Any idea?
Yes, see my patch series http://lkml.org/lkml/2010/7/9/96 reworking the
pmu interface.
After that and some patches adding per pmu contexts adding multiple
hardware pmus should be simple.
uncore should not share any code with the regular pmu, since they're
mostly unrelated.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists