mirror of https://gitee.com/openkylin/linux.git
perf c2c: Refactor hist entry validation
This patch has no functionality changes but refactors hist entry validation for cache line resorting. It renames function "valid_hitm_or_store()" to "is_valid_hist_entry()", changes return type from integer type to bool type. In the function, it uses switch-case instead of ternary operators, which is easier to extend for more display types. Signed-off-by: Leo Yan <leo.yan@linaro.org> Acked-by: Jiri Olsa <jolsa@redhat.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Don Zickus <dzickus@redhat.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Joe Mario <jmario@redhat.com> Cc: Joe Perches <joe@perches.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20210114154646.209024-3-leo.yan@linaro.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
1834436e34
commit
2290e1d619
|
@ -1888,16 +1888,32 @@ static bool he__display(struct hist_entry *he, struct c2c_stats *stats)
|
|||
return he->filtered == 0;
|
||||
}
|
||||
|
||||
static inline int valid_hitm_or_store(struct hist_entry *he)
|
||||
static inline bool is_valid_hist_entry(struct hist_entry *he)
|
||||
{
|
||||
struct c2c_hist_entry *c2c_he;
|
||||
bool has_hitm;
|
||||
bool has_record = false;
|
||||
|
||||
c2c_he = container_of(he, struct c2c_hist_entry, he);
|
||||
has_hitm = c2c.display == DISPLAY_TOT ? c2c_he->stats.tot_hitm :
|
||||
c2c.display == DISPLAY_LCL ? c2c_he->stats.lcl_hitm :
|
||||
c2c_he->stats.rmt_hitm;
|
||||
return has_hitm || c2c_he->stats.store;
|
||||
|
||||
/* It's a valid entry if contains stores */
|
||||
if (c2c_he->stats.store)
|
||||
return true;
|
||||
|
||||
switch (c2c.display) {
|
||||
case DISPLAY_LCL:
|
||||
has_record = !!c2c_he->stats.lcl_hitm;
|
||||
break;
|
||||
case DISPLAY_RMT:
|
||||
has_record = !!c2c_he->stats.rmt_hitm;
|
||||
break;
|
||||
case DISPLAY_TOT:
|
||||
has_record = !!c2c_he->stats.tot_hitm;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return has_record;
|
||||
}
|
||||
|
||||
static void set_node_width(struct c2c_hist_entry *c2c_he, int len)
|
||||
|
@ -1951,7 +1967,7 @@ static int filter_cb(struct hist_entry *he, void *arg __maybe_unused)
|
|||
|
||||
calc_width(c2c_he);
|
||||
|
||||
if (!valid_hitm_or_store(he))
|
||||
if (!is_valid_hist_entry(he))
|
||||
he->filtered = HIST_FILTER__C2C;
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue