Re: [PATCH] perf_counter: extensible perf_counter_attr

From: Corey Ashford
Date: Mon Jun 08 2009 - 20:50:26 EST


Ingo Molnar wrote:
* Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> 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

--
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/