diff options
-rw-r--r-- | tools/perf/Documentation/perf-diff.txt | 4 | ||||
-rw-r--r-- | tools/perf/builtin-diff.c | 29 | ||||
-rw-r--r-- | tools/perf/ui/hist.c | 25 | ||||
-rw-r--r-- | tools/perf/util/hist.h | 1 |
4 files changed, 7 insertions, 52 deletions
diff --git a/tools/perf/Documentation/perf-diff.txt b/tools/perf/Documentation/perf-diff.txt index 194f37d635df..5b3123d5721f 100644 --- a/tools/perf/Documentation/perf-diff.txt +++ b/tools/perf/Documentation/perf-diff.txt | |||
@@ -22,10 +22,6 @@ specified perf.data files. | |||
22 | 22 | ||
23 | OPTIONS | 23 | OPTIONS |
24 | ------- | 24 | ------- |
25 | -M:: | ||
26 | --displacement:: | ||
27 | Show position displacement relative to baseline. | ||
28 | |||
29 | -D:: | 25 | -D:: |
30 | --dump-raw-trace:: | 26 | --dump-raw-trace:: |
31 | Dump raw trace in ASCII. | 27 | Dump raw trace in ASCII. |
diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c index d869029fb75e..b2e7d39f099b 100644 --- a/tools/perf/builtin-diff.c +++ b/tools/perf/builtin-diff.c | |||
@@ -23,7 +23,6 @@ static char const *input_old = "perf.data.old", | |||
23 | *input_new = "perf.data"; | 23 | *input_new = "perf.data"; |
24 | static char diff__default_sort_order[] = "dso,symbol"; | 24 | static char diff__default_sort_order[] = "dso,symbol"; |
25 | static bool force; | 25 | static bool force; |
26 | static bool show_displacement; | ||
27 | static bool show_period; | 26 | static bool show_period; |
28 | static bool show_formula; | 27 | static bool show_formula; |
29 | static bool show_baseline_only; | 28 | static bool show_baseline_only; |
@@ -296,9 +295,8 @@ static void insert_hist_entry_by_name(struct rb_root *root, | |||
296 | rb_insert_color(&he->rb_node, root); | 295 | rb_insert_color(&he->rb_node, root); |
297 | } | 296 | } |
298 | 297 | ||
299 | static void hists__name_resort(struct hists *self, bool sort) | 298 | static void hists__name_resort(struct hists *self) |
300 | { | 299 | { |
301 | unsigned long position = 1; | ||
302 | struct rb_root tmp = RB_ROOT; | 300 | struct rb_root tmp = RB_ROOT; |
303 | struct rb_node *next = rb_first(&self->entries); | 301 | struct rb_node *next = rb_first(&self->entries); |
304 | 302 | ||
@@ -306,16 +304,12 @@ static void hists__name_resort(struct hists *self, bool sort) | |||
306 | struct hist_entry *n = rb_entry(next, struct hist_entry, rb_node); | 304 | struct hist_entry *n = rb_entry(next, struct hist_entry, rb_node); |
307 | 305 | ||
308 | next = rb_next(&n->rb_node); | 306 | next = rb_next(&n->rb_node); |
309 | n->position = position++; | ||
310 | 307 | ||
311 | if (sort) { | 308 | rb_erase(&n->rb_node, &self->entries); |
312 | rb_erase(&n->rb_node, &self->entries); | 309 | insert_hist_entry_by_name(&tmp, n); |
313 | insert_hist_entry_by_name(&tmp, n); | ||
314 | } | ||
315 | } | 310 | } |
316 | 311 | ||
317 | if (sort) | 312 | self->entries = tmp; |
318 | self->entries = tmp; | ||
319 | } | 313 | } |
320 | 314 | ||
321 | static struct perf_evsel *evsel_match(struct perf_evsel *evsel, | 315 | static struct perf_evsel *evsel_match(struct perf_evsel *evsel, |
@@ -339,12 +333,8 @@ static void perf_evlist__resort_hists(struct perf_evlist *evlist, bool name) | |||
339 | 333 | ||
340 | hists__output_resort(hists); | 334 | hists__output_resort(hists); |
341 | 335 | ||
342 | /* | 336 | if (name) |
343 | * The hists__name_resort only sets possition | 337 | hists__name_resort(hists); |
344 | * if name is false. | ||
345 | */ | ||
346 | if (name || ((!name) && show_displacement)) | ||
347 | hists__name_resort(hists, name); | ||
348 | } | 338 | } |
349 | } | 339 | } |
350 | 340 | ||
@@ -549,8 +539,6 @@ static const char * const diff_usage[] = { | |||
549 | static const struct option options[] = { | 539 | static const struct option options[] = { |
550 | OPT_INCR('v', "verbose", &verbose, | 540 | OPT_INCR('v', "verbose", &verbose, |
551 | "be more verbose (show symbol address, etc)"), | 541 | "be more verbose (show symbol address, etc)"), |
552 | OPT_BOOLEAN('M', "displacement", &show_displacement, | ||
553 | "Show position displacement relative to baseline"), | ||
554 | OPT_BOOLEAN('b', "baseline-only", &show_baseline_only, | 542 | OPT_BOOLEAN('b', "baseline-only", &show_baseline_only, |
555 | "Show only items with match in baseline"), | 543 | "Show only items with match in baseline"), |
556 | OPT_CALLBACK('c', "compute", &compute, | 544 | OPT_CALLBACK('c', "compute", &compute, |
@@ -585,7 +573,7 @@ static const struct option options[] = { | |||
585 | static void ui_init(void) | 573 | static void ui_init(void) |
586 | { | 574 | { |
587 | /* | 575 | /* |
588 | * Display baseline/delta/ratio/displacement/ | 576 | * Display baseline/delta/ratio |
589 | * formula/periods columns. | 577 | * formula/periods columns. |
590 | */ | 578 | */ |
591 | perf_hpp__column_enable(PERF_HPP__BASELINE); | 579 | perf_hpp__column_enable(PERF_HPP__BASELINE); |
@@ -604,9 +592,6 @@ static void ui_init(void) | |||
604 | BUG_ON(1); | 592 | BUG_ON(1); |
605 | }; | 593 | }; |
606 | 594 | ||
607 | if (show_displacement) | ||
608 | perf_hpp__column_enable(PERF_HPP__DISPL); | ||
609 | |||
610 | if (show_formula) | 595 | if (show_formula) |
611 | perf_hpp__column_enable(PERF_HPP__FORMULA); | 596 | perf_hpp__column_enable(PERF_HPP__FORMULA); |
612 | 597 | ||
diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c index 1785bab7adfd..1889c12ca81f 100644 --- a/tools/perf/ui/hist.c +++ b/tools/perf/ui/hist.c | |||
@@ -351,30 +351,6 @@ static int hpp__entry_wdiff(struct perf_hpp *hpp, struct hist_entry *he) | |||
351 | return scnprintf(hpp->buf, hpp->size, fmt, buf); | 351 | return scnprintf(hpp->buf, hpp->size, fmt, buf); |
352 | } | 352 | } |
353 | 353 | ||
354 | static int hpp__header_displ(struct perf_hpp *hpp) | ||
355 | { | ||
356 | return scnprintf(hpp->buf, hpp->size, "Displ."); | ||
357 | } | ||
358 | |||
359 | static int hpp__width_displ(struct perf_hpp *hpp __maybe_unused) | ||
360 | { | ||
361 | return 6; | ||
362 | } | ||
363 | |||
364 | static int hpp__entry_displ(struct perf_hpp *hpp, | ||
365 | struct hist_entry *he) | ||
366 | { | ||
367 | struct hist_entry *pair = hist_entry__next_pair(he); | ||
368 | long displacement = pair ? pair->position - he->position : 0; | ||
369 | const char *fmt = symbol_conf.field_sep ? "%s" : "%6.6s"; | ||
370 | char buf[32] = " "; | ||
371 | |||
372 | if (displacement) | ||
373 | scnprintf(buf, sizeof(buf), "%+4ld", displacement); | ||
374 | |||
375 | return scnprintf(hpp->buf, hpp->size, fmt, buf); | ||
376 | } | ||
377 | |||
378 | static int hpp__header_formula(struct perf_hpp *hpp) | 354 | static int hpp__header_formula(struct perf_hpp *hpp) |
379 | { | 355 | { |
380 | const char *fmt = symbol_conf.field_sep ? "%s" : "%70s"; | 356 | const char *fmt = symbol_conf.field_sep ? "%s" : "%70s"; |
@@ -427,7 +403,6 @@ struct perf_hpp_fmt perf_hpp__format[] = { | |||
427 | HPP__PRINT_FNS(delta), | 403 | HPP__PRINT_FNS(delta), |
428 | HPP__PRINT_FNS(ratio), | 404 | HPP__PRINT_FNS(ratio), |
429 | HPP__PRINT_FNS(wdiff), | 405 | HPP__PRINT_FNS(wdiff), |
430 | HPP__PRINT_FNS(displ), | ||
431 | HPP__PRINT_FNS(formula) | 406 | HPP__PRINT_FNS(formula) |
432 | }; | 407 | }; |
433 | 408 | ||
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h index c1b2fade8e70..5b3b0075be64 100644 --- a/tools/perf/util/hist.h +++ b/tools/perf/util/hist.h | |||
@@ -154,7 +154,6 @@ enum { | |||
154 | PERF_HPP__DELTA, | 154 | PERF_HPP__DELTA, |
155 | PERF_HPP__RATIO, | 155 | PERF_HPP__RATIO, |
156 | PERF_HPP__WEIGHTED_DIFF, | 156 | PERF_HPP__WEIGHTED_DIFF, |
157 | PERF_HPP__DISPL, | ||
158 | PERF_HPP__FORMULA, | 157 | PERF_HPP__FORMULA, |
159 | 158 | ||
160 | PERF_HPP__MAX_INDEX | 159 | PERF_HPP__MAX_INDEX |