[PATCH 0/3] perf tools: Add hist_entry allocation callbacks

From: Jiri Olsa
Date: Tue Jul 05 2016 - 02:56:16 EST


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

v2 changes:
- merged patch 1 and 2 from RFC

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,
jirka


---
Jiri Olsa (3):
perf tools: Introduce hist_entry__init function
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(-)