[RFC 0/4] perf tools: Add hist_entry allocation callbacks

From: Jiri Olsa
Date: Mon Jul 04 2016 - 10:01:46 EST


hi,
this patchset tries to add support provide own allocation
zalloc/free methods for hist_entry object.

The reason is to provide a way to be able to store more
data within hist_entry object in a transparent way to
its current usage by allocating its own hist_entry sub
object.

The user/app which wants to allocate its own hist_entry
sub object provides following ops struct:

struct hist_entry_ops *ops {
void* (*new)(size_t);
void (*free)(void *);
}

via new interface function:

struct hist_entry *
hists__add_entry_ops(struct hists *hists,
struct hist_entry_ops *ops,
...

I'm using this for c2c code to enlarge hist_entry object
with large stats structure, which has no use to standard
perf usage/commands.

It might be used to lower the hist_entry footproint for
default perf usage by uing this for things like hierarchy
output that adds extra stuff into hist_entry object.

Available at:
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
perf/he_ops

thanks for comments,
jirka


---
Jiri Olsa (4):
perf tools: Introduce hist_entry__init function
perf tools: Do the error path hist_entry release in hist_entry__new
perf tools: Introduce hist_entry_ops
perf tools: Introduce hists__add_entry_ops function

tools/perf/util/hist.c | 204 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------
tools/perf/util/hist.h | 11 ++++++
tools/perf/util/sort.h | 6 ++++
3 files changed, 148 insertions(+), 73 deletions(-)