Re: [rfc 3/3] perf, x86: P4 PMU -- export ABI part of event config to userspace

From: Cyrill Gorcunov
Date: Wed Nov 24 2010 - 04:39:36 EST


On 11/24/10, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Wed, 2010-11-24 at 11:48 +0300, Cyrill Gorcunov wrote:
>> On 11/24/10, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>> > On Wed, 2010-11-24 at 01:46 +0300, Cyrill Gorcunov wrote:
>> >> plain text document attachment (x86-perf-export-abi)
>> >> Due to tight 64 bit size of event config field (where we have to track
>> >> pretty lot of info during event lifetime) some bits are to be exported
>> >> via header into userspace.
>> >>
>> >> Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
>> >> CC: Lin Ming <ming.m.lin@xxxxxxxxx>
>> >> CC: Stephane Eranian <eranian@xxxxxxxxxx>
>> >> CC: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>> >> ---
>> >>
>> >> Note that I don't like much the idea to export anything into userspace
>> >> but it seems there is no other choise. So there is a minimum which
>> >> should
>> >> be exported.
>> >
>> >
>> > Could you say what exactly is exposed to userspace and why?
>>
>> yes, we need two enums to be exported, because we use custom encoding,
>> which is described in first patch. peter i'll describe more detailed
>> in a couple of hours, ok?
>
> Sure, but have you seen my sysfs patches? wouldn't describing the format
> in there suffice?
>
> http://lkml.org/lkml/2010/11/17/154
>
>
just looked at them, but the main problem is that a few fields in
.config consist of custom values about which userspace knows nothing,
ie these fields are not described in SDM but we define own ones. this
mess is because we need to pack a lot of info in single 64bit field so
kernel would track event properly in terms of hardware resources. i
will describe the details as only reach the computer.
--
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/