Re: [PATCH] perf_counter: extensible perf_counter_attr

Corey Ashford
2009-06-09T00:50:23Z

Ingo Molnar wrote:
> * Corey Ashford <cjashfor@linux.vnet.ibm.com> wrote:
>
>> Peter Zijlstra wrote:
>>> On Mon, 2009-06-08 at 14:18 -0700, Corey Ashford wrote:
>>>> pca.ext_attrs = &feature.head; /* secretly know that there's data
>>>> that lies past the attr struct header */
>>> Right, except its not so very secret since we have the type field
>>> telling us.
>> I see. Thanks for the explanation. Looks like a good plan to me!
>
> i think we'd have a much simpler implementation by changing
> __reserved_1 to attr_size. When the kernel adds new attributes, the
> size will increase - old user-space will use the old size which the
> kernel detects and adopts to (by zeroing out that attribute space).
>
> That way we'll always have a nice flat attributes structure, with no
> quirky chaining that has field-dependent data types ...
>
> Ingo

If I understand you correctly, you would simply make perf_counter_attr larger
every time you want to add a new attribute. Users using the new attributes
would call sys_perf_counter_open with a larger attr_size value.

What about arch-dependent attributes? Would you want to place them all in the
perf_counter_attr struct? I suppose this could be done by #include'ing an
arch-specific .h file.

- Corey