Re: [PATCH v2 04/10] perf util: Add rbtree node_delete ops

From: Jiri Olsa
Date: Tue Nov 28 2017 - 06:12:40 EST


On Mon, Nov 27, 2017 at 10:07:24PM +0800, Jin Yao wrote:
> In current stat-shadow.c, the rbtree deleting is ignored.
>
> The patch reconstructs the code of rblist init/free, and adds
> the implementation to node_delete method of rblist.
>
> Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
> ---
> tools/perf/util/stat-shadow.c | 33 +++++++++++++++++++++++++++++----
> tools/perf/util/stat.h | 3 +++
> 2 files changed, 32 insertions(+), 4 deletions(-)
>
> diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c
> index c53b80d..0fdd2aa 100644
> --- a/tools/perf/util/stat-shadow.c
> +++ b/tools/perf/util/stat-shadow.c
> @@ -40,6 +40,7 @@ static struct stats runtime_aperf_stats[NUM_CTX][MAX_NR_CPUS];
> static struct rblist runtime_saved_values;
> static bool have_frontend_stalled;
>
> +struct runtime_stat rt_stat;
> struct stats walltime_nsecs_stats;
>
> struct saved_value {
> @@ -103,6 +104,18 @@ static struct rb_node *saved_value_new(struct rblist *rblist __maybe_unused,
> return &nd->rb_node;
> }
>
> +static void saved_value_delete(struct rblist *rblist __maybe_unused,
> + struct rb_node *rb_node)
> +{
> + struct saved_value *v;
> +
> + BUG_ON(!rb_node);
> + v = container_of(rb_node,
> + struct saved_value,
> + rb_node);

any reason for this to be cut on 3 lines? single line wouldn't cross 80 chars length..

jirka