Re: [PATCH] perf_counter: extensible perf_counter_attr

From: Corey Ashford
Date: Mon Jun 08 2009 - 15:02:52 EST


Hi Peter,

Peter Zijlstra wrote:
Allow extending the perf_counter_attr structure by linking extended
structures to it.

Also, should we grow the directly reserved space in the structure a
little more?

Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
---
include/linux/perf_counter.h | 7 +++++++
kernel/perf_counter.c | 1 +
2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h
index 3586df8..781d8ce 100644
--- a/include/linux/perf_counter.h
+++ b/include/linux/perf_counter.h
@@ -175,6 +175,13 @@ struct perf_counter_attr {
__u32 __reserved_3;

__u64 __reserved_4;
+
+ struct perf_counter_attr_ext *ext_attrs;
+};
+
+struct perf_counter_attr_ext {
+ struct perf_counter_attr_ext *next;
+ __u64 perf_attr_ext_type;
};

Let's say I want to extend the attributes by four 64-bit quantities... from the above definition, I'd need four additional records chained together, right? How about something like this instead:

struct perf_counter_attr_ext {
__u32 num_perf_attrs;
__u64 *perf_attr_ext;
};

Another alternative would be to place these two fields into perf_counter_attr and so eliminate the extra level of indirection.


Regards,

- Corey

Corey Ashford
Software Engineer
IBM Linux Technology Center, Linux Toolchain
cjashfor@xxxxxxxxxx

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