[PATCH v2 04/14] perf kvm: Use subtraction for comparison metrics

From: Leo Yan
Date: Tue Feb 28 2023 - 03:42:50 EST


Currently the metrics comparison uses greater operator (>), it returns
the boolean value (0 or 1).

This patch changes to use subtraction as comparison result, which can
be used by histograms sorting.

Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx>
---
tools/perf/builtin-kvm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c
index 62c097a37da9..6eec0db2dda6 100644
--- a/tools/perf/builtin-kvm.c
+++ b/tools/perf/builtin-kvm.c
@@ -66,7 +66,7 @@ GET_EVENT_KEY(func, field) \
static int cmp_event_ ## func(struct kvm_event *one, \
struct kvm_event *two, int vcpu) \
{ \
- return get_event_ ##func(one, vcpu) > \
+ return get_event_ ##func(one, vcpu) - \
get_event_ ##func(two, vcpu); \
}

@@ -523,7 +523,7 @@ static void insert_to_result(struct rb_root *result, struct kvm_event *event,
p = container_of(*rb, struct kvm_event, rb);
parent = *rb;

- if (bigger(event, p, vcpu))
+ if (bigger(event, p, vcpu) > 0)
rb = &(*rb)->rb_left;
else
rb = &(*rb)->rb_right;
--
2.34.1