perf stat: Fix saved values rbtree lookup
authorAndi Kleen <ak@linux.intel.com>
Mon, 24 Jul 2017 23:40:03 +0000 (16:40 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 11 Aug 2017 13:42:52 +0000 (10:42 -0300)
commit5e97665f91d343b5bcf1f92249e45e18987ffd00
tree8a0bf7554657a55d59dd843fb3467fced71c4c31
parent3c22ba5243040c13f9a79e3ae70399c0ae0872a4
perf stat: Fix saved values rbtree lookup

The stat shadow saved values rbtree is indexed by a pointer.  Fix the
comparison function:

- We cannot return a pointer delta as an int because that loses bits on
  64bit.

- Doing pointer arithmetic on the struct pointer only works if the
  objects are spaced by the multiple of the object size, which is not
  guaranteed for individual malloc'ed object

Replace it with a proper comparison.

This fixes various problems with values not being found.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Link: http://lkml.kernel.org/r/20170724234015.5165-4-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/stat-shadow.c