Linux Perf
hist.c File Reference
#include <inttypes.h>
#include <math.h>
#include <linux/compiler.h>
#include "../util/hist.h"
#include "../util/util.h"
#include "../util/sort.h"
#include "../util/evsel.h"
#include "../util/evlist.h"
Include dependency graph for hist.c:

Go to the source code of this file.

Macros

#define hpp__call_print_fn(hpp, fn, fmt, ...)
 
#define __HPP_COLOR_PERCENT_FN(_type, _field)
 
#define __HPP_ENTRY_PERCENT_FN(_type, _field)
 
#define __HPP_SORT_FN(_type, _field)
 
#define __HPP_COLOR_ACC_PERCENT_FN(_type, _field)
 
#define __HPP_ENTRY_ACC_PERCENT_FN(_type, _field)
 
#define __HPP_SORT_ACC_FN(_type, _field)
 
#define __HPP_ENTRY_RAW_FN(_type, _field)
 
#define __HPP_SORT_RAW_FN(_type, _field)
 
#define HPP_PERCENT_FNS(_type, _field)
 
#define HPP_PERCENT_ACC_FNS(_type, _field)
 
#define HPP_RAW_FNS(_type, _field)
 
#define HPP__COLOR_PRINT_FNS(_name, _fn, _idx)
 
#define HPP__COLOR_ACC_PRINT_FNS(_name, _fn, _idx)
 
#define HPP__PRINT_FNS(_name, _fn, _idx)
 

Functions

static int __hpp__fmt (struct perf_hpp *hpp, struct hist_entry *he, hpp_field_fn get_field, const char *fmt, int len, hpp_snprint_fn print_fn, bool fmt_percent)
 
int hpp__fmt (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, hpp_field_fn get_field, const char *fmtstr, hpp_snprint_fn print_fn, bool fmt_percent)
 
int hpp__fmt_acc (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, hpp_field_fn get_field, const char *fmtstr, hpp_snprint_fn print_fn, bool fmt_percent)
 
static int field_cmp (u64 field_a, u64 field_b)
 
static int __hpp__sort (struct hist_entry *a, struct hist_entry *b, hpp_field_fn get_field)
 
static int __hpp__sort_acc (struct hist_entry *a, struct hist_entry *b, hpp_field_fn get_field)
 
static int hpp__width_fn (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp __maybe_unused, struct hists *hists)
 
static int hpp__header_fn (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hists *hists, int line __maybe_unused, int *span __maybe_unused)
 
int hpp_color_scnprintf (struct perf_hpp *hpp, const char *fmt,...)
 
static int hpp_entry_scnprintf (struct perf_hpp *hpp, const char *fmt,...)
 
static int64_t hpp__nop_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *a __maybe_unused, struct hist_entry *b __maybe_unused)
 
static bool perf_hpp__is_hpp_entry (struct perf_hpp_fmt *a)
 
static bool hpp__equal (struct perf_hpp_fmt *a, struct perf_hpp_fmt *b)
 
void perf_hpp__init (void)
 
void perf_hpp_list__column_register (struct perf_hpp_list *list, struct perf_hpp_fmt *format)
 
void perf_hpp_list__register_sort_field (struct perf_hpp_list *list, struct perf_hpp_fmt *format)
 
void perf_hpp_list__prepend_sort_field (struct perf_hpp_list *list, struct perf_hpp_fmt *format)
 
void perf_hpp__column_unregister (struct perf_hpp_fmt *format)
 
void perf_hpp__cancel_cumulate (void)
 
static bool fmt_equal (struct perf_hpp_fmt *a, struct perf_hpp_fmt *b)
 
void perf_hpp__setup_output_field (struct perf_hpp_list *list)
 
void perf_hpp__append_sort_keys (struct perf_hpp_list *list)
 
static void fmt_free (struct perf_hpp_fmt *fmt)
 
void perf_hpp__reset_output_field (struct perf_hpp_list *list)
 
unsigned int hists__sort_list_width (struct hists *hists)
 
unsigned int hists__overhead_width (struct hists *hists)
 
void perf_hpp__reset_width (struct perf_hpp_fmt *fmt, struct hists *hists)
 
void hists__reset_column_width (struct hists *hists)
 
void perf_hpp__set_user_width (const char *width_list_str)
 
static int add_hierarchy_fmt (struct hists *hists, struct perf_hpp_fmt *fmt)
 
int perf_hpp__setup_hists_formats (struct perf_hpp_list *list, struct perf_evlist *evlist)
 

Variables

struct perf_hpp_fmt perf_hpp__format []
 
struct perf_hpp_list perf_hpp_list
 

Macro Definition Documentation

◆ __HPP_COLOR_ACC_PERCENT_FN

#define __HPP_COLOR_ACC_PERCENT_FN (   _type,
  _field 
)
Value:
static u64 he_get_acc_##_field(struct hist_entry *he) \
{ \
return he->stat_acc->_field; \
} \
\
static int hpp__color_##_type(struct perf_hpp_fmt *fmt, \
struct perf_hpp *hpp, struct hist_entry *he) \
{ \
return hpp__fmt_acc(fmt, hpp, he, he_get_acc_##_field, " %*.2f%%", \
}
int hpp__fmt_acc(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, hpp_field_fn get_field, const char *fmtstr, hpp_snprint_fn print_fn, bool fmt_percent)
Definition: hist.c:129
Definition: hist.h:234
Definition: sort.h:89
const char * fmt
Definition: dso.c:193
int hpp_color_scnprintf(struct perf_hpp *hpp, const char *fmt,...)
Definition: hist.c:244

Definition at line 301 of file hist.c.

◆ __HPP_COLOR_PERCENT_FN

#define __HPP_COLOR_PERCENT_FN (   _type,
  _field 
)
Value:
static u64 he_get_##_field(struct hist_entry *he) \
{ \
return he->stat._field; \
} \
\
static int hpp__color_##_type(struct perf_hpp_fmt *fmt, \
struct perf_hpp *hpp, struct hist_entry *he) \
{ \
return hpp__fmt(fmt, hpp, he, he_get_##_field, " %*.2f%%", \
}
Definition: hist.h:234
Definition: sort.h:89
const char * fmt
Definition: dso.c:193
int hpp__fmt(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, hpp_field_fn get_field, const char *fmtstr, hpp_snprint_fn print_fn, bool fmt_percent)
Definition: hist.c:110
int hpp_color_scnprintf(struct perf_hpp *hpp, const char *fmt,...)
Definition: hist.c:244

Definition at line 273 of file hist.c.

◆ __HPP_ENTRY_ACC_PERCENT_FN

#define __HPP_ENTRY_ACC_PERCENT_FN (   _type,
  _field 
)
Value:
static int hpp__entry_##_type(struct perf_hpp_fmt *fmt, \
struct perf_hpp *hpp, struct hist_entry *he) \
{ \
return hpp__fmt_acc(fmt, hpp, he, he_get_acc_##_field, " %*.2f%%", \
}
int hpp__fmt_acc(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, hpp_field_fn get_field, const char *fmtstr, hpp_snprint_fn print_fn, bool fmt_percent)
Definition: hist.c:129
Definition: hist.h:234
Definition: sort.h:89
const char * fmt
Definition: dso.c:193
static int hpp_entry_scnprintf(struct perf_hpp *hpp, const char *fmt,...)
Definition: hist.c:260

Definition at line 314 of file hist.c.

◆ __HPP_ENTRY_PERCENT_FN

#define __HPP_ENTRY_PERCENT_FN (   _type,
  _field 
)
Value:
static int hpp__entry_##_type(struct perf_hpp_fmt *fmt, \
struct perf_hpp *hpp, struct hist_entry *he) \
{ \
return hpp__fmt(fmt, hpp, he, he_get_##_field, " %*.2f%%", \
}
Definition: hist.h:234
Definition: sort.h:89
const char * fmt
Definition: dso.c:193
int hpp__fmt(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, hpp_field_fn get_field, const char *fmtstr, hpp_snprint_fn print_fn, bool fmt_percent)
Definition: hist.c:110
static int hpp_entry_scnprintf(struct perf_hpp *hpp, const char *fmt,...)
Definition: hist.c:260

Definition at line 286 of file hist.c.

◆ __HPP_ENTRY_RAW_FN

#define __HPP_ENTRY_RAW_FN (   _type,
  _field 
)
Value:
static u64 he_get_raw_##_field(struct hist_entry *he) \
{ \
return he->stat._field; \
} \
\
static int hpp__entry_##_type(struct perf_hpp_fmt *fmt, \
struct perf_hpp *hpp, struct hist_entry *he) \
{ \
return hpp__fmt(fmt, hpp, he, he_get_raw_##_field, " %*"PRIu64, \
}
Definition: hist.h:234
Definition: sort.h:89
const char * fmt
Definition: dso.c:193
int hpp__fmt(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, hpp_field_fn get_field, const char *fmtstr, hpp_snprint_fn print_fn, bool fmt_percent)
Definition: hist.c:110
static int hpp_entry_scnprintf(struct perf_hpp *hpp, const char *fmt,...)
Definition: hist.c:260

Definition at line 329 of file hist.c.

◆ __HPP_SORT_ACC_FN

#define __HPP_SORT_ACC_FN (   _type,
  _field 
)
Value:
static int64_t hpp__sort_##_type(struct perf_hpp_fmt *fmt __maybe_unused, \
struct hist_entry *a, struct hist_entry *b) \
{ \
return __hpp__sort_acc(a, b, he_get_acc_##_field); \
}
Definition: sort.h:89
const char * fmt
Definition: dso.c:193
static int __hpp__sort_acc(struct hist_entry *a, struct hist_entry *b, hpp_field_fn get_field)
Definition: hist.c:197

Definition at line 322 of file hist.c.

◆ __HPP_SORT_FN

#define __HPP_SORT_FN (   _type,
  _field 
)
Value:
static int64_t hpp__sort_##_type(struct perf_hpp_fmt *fmt __maybe_unused, \
struct hist_entry *a, struct hist_entry *b) \
{ \
return __hpp__sort(a, b, he_get_##_field); \
}
Definition: sort.h:89
static int __hpp__sort(struct hist_entry *a, struct hist_entry *b, hpp_field_fn get_field)
Definition: hist.c:150
const char * fmt
Definition: dso.c:193

Definition at line 294 of file hist.c.

◆ __HPP_SORT_RAW_FN

#define __HPP_SORT_RAW_FN (   _type,
  _field 
)
Value:
static int64_t hpp__sort_##_type(struct perf_hpp_fmt *fmt __maybe_unused, \
struct hist_entry *a, struct hist_entry *b) \
{ \
return __hpp__sort(a, b, he_get_raw_##_field); \
}
Definition: sort.h:89
static int __hpp__sort(struct hist_entry *a, struct hist_entry *b, hpp_field_fn get_field)
Definition: hist.c:150
const char * fmt
Definition: dso.c:193

Definition at line 342 of file hist.c.

◆ hpp__call_print_fn

#define hpp__call_print_fn (   hpp,
  fn,
  fmt,
  ... 
)
Value:
({ \
int __ret = fn(hpp, fmt, ##__VA_ARGS__); \
advance_hpp(hpp, __ret); \
__ret; \
})
const char * fmt
Definition: dso.c:193

Definition at line 14 of file hist.c.

◆ HPP__COLOR_ACC_PRINT_FNS

#define HPP__COLOR_ACC_PRINT_FNS (   _name,
  _fn,
  _idx 
)
Value:
{ \
.name = _name, \
.header = hpp__header_fn, \
.width = hpp__width_fn, \
.color = hpp__color_ ## _fn, \
.entry = hpp__entry_ ## _fn, \
.cmp = hpp__nop_cmp, \
.collapse = hpp__nop_cmp, \
.sort = hpp__sort_ ## _fn, \
.idx = PERF_HPP__ ## _idx, \
.equal = hpp__equal, \
}
static int hpp__header_fn(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hists *hists, int line __maybe_unused, int *span __maybe_unused)
Definition: hist.c:236
static int64_t hpp__nop_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *a __maybe_unused, struct hist_entry *b __maybe_unused)
Definition: hist.c:374
static int hpp__width_fn(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp __maybe_unused, struct hists *hists)
Definition: hist.c:220
static bool hpp__equal(struct perf_hpp_fmt *a, struct perf_hpp_fmt *b)
Definition: hist.c:386

Definition at line 408 of file hist.c.

◆ HPP__COLOR_PRINT_FNS

#define HPP__COLOR_PRINT_FNS (   _name,
  _fn,
  _idx 
)
Value:
{ \
.name = _name, \
.header = hpp__header_fn, \
.width = hpp__width_fn, \
.color = hpp__color_ ## _fn, \
.entry = hpp__entry_ ## _fn, \
.cmp = hpp__nop_cmp, \
.collapse = hpp__nop_cmp, \
.sort = hpp__sort_ ## _fn, \
.idx = PERF_HPP__ ## _idx, \
.equal = hpp__equal, \
}
static int hpp__header_fn(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hists *hists, int line __maybe_unused, int *span __maybe_unused)
Definition: hist.c:236
static int64_t hpp__nop_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *a __maybe_unused, struct hist_entry *b __maybe_unused)
Definition: hist.c:374
static int hpp__width_fn(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp __maybe_unused, struct hists *hists)
Definition: hist.c:220
static bool hpp__equal(struct perf_hpp_fmt *a, struct perf_hpp_fmt *b)
Definition: hist.c:386

Definition at line 394 of file hist.c.

◆ HPP__PRINT_FNS

#define HPP__PRINT_FNS (   _name,
  _fn,
  _idx 
)
Value:
{ \
.name = _name, \
.header = hpp__header_fn, \
.width = hpp__width_fn, \
.entry = hpp__entry_ ## _fn, \
.cmp = hpp__nop_cmp, \
.collapse = hpp__nop_cmp, \
.sort = hpp__sort_ ## _fn, \
.idx = PERF_HPP__ ## _idx, \
.equal = hpp__equal, \
}
static int hpp__header_fn(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hists *hists, int line __maybe_unused, int *span __maybe_unused)
Definition: hist.c:236
static int64_t hpp__nop_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *a __maybe_unused, struct hist_entry *b __maybe_unused)
Definition: hist.c:374
static int hpp__width_fn(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp __maybe_unused, struct hists *hists)
Definition: hist.c:220
static bool hpp__equal(struct perf_hpp_fmt *a, struct perf_hpp_fmt *b)
Definition: hist.c:386

Definition at line 422 of file hist.c.

◆ HPP_PERCENT_ACC_FNS

#define HPP_PERCENT_ACC_FNS (   _type,
  _field 
)
Value:
__HPP_ENTRY_ACC_PERCENT_FN(_type, _field) \
__HPP_SORT_ACC_FN(_type, _field)
#define __HPP_COLOR_ACC_PERCENT_FN(_type, _field)
Definition: hist.c:301

Definition at line 355 of file hist.c.

◆ HPP_PERCENT_FNS

#define HPP_PERCENT_FNS (   _type,
  _field 
)
Value:
__HPP_COLOR_PERCENT_FN(_type, _field) \
__HPP_ENTRY_PERCENT_FN(_type, _field) \
__HPP_SORT_FN(_type, _field)
#define __HPP_COLOR_PERCENT_FN(_type, _field)
Definition: hist.c:273

Definition at line 350 of file hist.c.

◆ HPP_RAW_FNS

#define HPP_RAW_FNS (   _type,
  _field 
)
Value:
__HPP_ENTRY_RAW_FN(_type, _field) \
__HPP_SORT_RAW_FN(_type, _field)
#define __HPP_ENTRY_RAW_FN(_type, _field)
Definition: hist.c:329

Definition at line 360 of file hist.c.

Function Documentation

◆ __hpp__fmt()

static int __hpp__fmt ( struct perf_hpp hpp,
struct hist_entry he,
hpp_field_fn  get_field,
const char *  fmt,
int  len,
hpp_snprint_fn  print_fn,
bool  fmt_percent 
)
static

Definition at line 21 of file hist.c.

Here is the call graph for this function:

◆ __hpp__sort()

static int __hpp__sort ( struct hist_entry a,
struct hist_entry b,
hpp_field_fn  get_field 
)
static

Definition at line 150 of file hist.c.

Here is the call graph for this function:

◆ __hpp__sort_acc()

static int __hpp__sort_acc ( struct hist_entry a,
struct hist_entry b,
hpp_field_fn  get_field 
)
static

Definition at line 197 of file hist.c.

Here is the call graph for this function:

◆ add_hierarchy_fmt()

static int add_hierarchy_fmt ( struct hists hists,
struct perf_hpp_fmt fmt 
)
static

Definition at line 756 of file hist.c.

Here is the call graph for this function:

◆ field_cmp()

static int field_cmp ( u64  field_a,
u64  field_b 
)
static

Definition at line 141 of file hist.c.

◆ fmt_equal()

static bool fmt_equal ( struct perf_hpp_fmt a,
struct perf_hpp_fmt b 
)
static

Definition at line 560 of file hist.c.

◆ fmt_free()

static void fmt_free ( struct perf_hpp_fmt fmt)
static

Definition at line 608 of file hist.c.

◆ hists__overhead_width()

unsigned int hists__overhead_width ( struct hists hists)

Definition at line 668 of file hist.c.

Here is the call graph for this function:

◆ hists__reset_column_width()

void hists__reset_column_width ( struct hists hists)

Definition at line 723 of file hist.c.

Here is the call graph for this function:

◆ hists__sort_list_width()

unsigned int hists__sort_list_width ( struct hists hists)

Definition at line 643 of file hist.c.

Here is the call graph for this function:

◆ hpp__equal()

static bool hpp__equal ( struct perf_hpp_fmt a,
struct perf_hpp_fmt b 
)
static

Definition at line 386 of file hist.c.

Here is the call graph for this function:

◆ hpp__fmt()

int hpp__fmt ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he,
hpp_field_fn  get_field,
const char *  fmtstr,
hpp_snprint_fn  print_fn,
bool  fmt_percent 
)

Definition at line 110 of file hist.c.

Here is the call graph for this function:

◆ hpp__fmt_acc()

int hpp__fmt_acc ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he,
hpp_field_fn  get_field,
const char *  fmtstr,
hpp_snprint_fn  print_fn,
bool  fmt_percent 
)

Definition at line 129 of file hist.c.

Here is the call graph for this function:

◆ hpp__header_fn()

static int hpp__header_fn ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hists hists,
int line  __maybe_unused,
int *span  __maybe_unused 
)
static

Definition at line 236 of file hist.c.

Here is the call graph for this function:

◆ hpp__nop_cmp()

static int64_t hpp__nop_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry *a  __maybe_unused,
struct hist_entry *b  __maybe_unused 
)
static

Definition at line 374 of file hist.c.

◆ hpp__width_fn()

static int hpp__width_fn ( struct perf_hpp_fmt fmt,
struct perf_hpp *hpp  __maybe_unused,
struct hists hists 
)
static

Definition at line 220 of file hist.c.

Here is the call graph for this function:

◆ hpp_color_scnprintf()

int hpp_color_scnprintf ( struct perf_hpp hpp,
const char *  fmt,
  ... 
)

Definition at line 244 of file hist.c.

Here is the call graph for this function:

◆ hpp_entry_scnprintf()

static int hpp_entry_scnprintf ( struct perf_hpp hpp,
const char *  fmt,
  ... 
)
static

Definition at line 260 of file hist.c.

◆ perf_hpp__append_sort_keys()

void perf_hpp__append_sort_keys ( struct perf_hpp_list list)

Definition at line 588 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__cancel_cumulate()

void perf_hpp__cancel_cumulate ( void  )

Definition at line 539 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__column_unregister()

void perf_hpp__column_unregister ( struct perf_hpp_fmt format)

Definition at line 534 of file hist.c.

◆ perf_hpp__init()

void perf_hpp__init ( void  )

Definition at line 472 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__is_hpp_entry()

static bool perf_hpp__is_hpp_entry ( struct perf_hpp_fmt a)
static

Definition at line 381 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__reset_output_field()

void perf_hpp__reset_output_field ( struct perf_hpp_list list)

Definition at line 621 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__reset_width()

void perf_hpp__reset_width ( struct perf_hpp_fmt fmt,
struct hists hists 
)

Definition at line 690 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__set_user_width()

void perf_hpp__set_user_width ( const char *  width_list_str)

Definition at line 738 of file hist.c.

◆ perf_hpp__setup_hists_formats()

int perf_hpp__setup_hists_formats ( struct perf_hpp_list list,
struct perf_evlist evlist 
)

Definition at line 796 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__setup_output_field()

void perf_hpp__setup_output_field ( struct perf_hpp_list list)

Definition at line 565 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp_list__column_register()

void perf_hpp_list__column_register ( struct perf_hpp_list list,
struct perf_hpp_fmt format 
)

Definition at line 516 of file hist.c.

◆ perf_hpp_list__prepend_sort_field()

void perf_hpp_list__prepend_sort_field ( struct perf_hpp_list list,
struct perf_hpp_fmt format 
)

Definition at line 528 of file hist.c.

◆ perf_hpp_list__register_sort_field()

void perf_hpp_list__register_sort_field ( struct perf_hpp_list list,
struct perf_hpp_fmt format 
)

Definition at line 522 of file hist.c.

Variable Documentation

◆ perf_hpp__format

struct perf_hpp_fmt perf_hpp__format[]
Initial value:
= {
HPP__COLOR_PRINT_FNS("Overhead", overhead, OVERHEAD),
HPP__COLOR_PRINT_FNS("sys", overhead_sys, OVERHEAD_SYS),
HPP__COLOR_PRINT_FNS("usr", overhead_us, OVERHEAD_US),
HPP__COLOR_PRINT_FNS("guest sys", overhead_guest_sys, OVERHEAD_GUEST_SYS),
HPP__COLOR_PRINT_FNS("guest usr", overhead_guest_us, OVERHEAD_GUEST_US),
HPP__COLOR_ACC_PRINT_FNS("Children", overhead_acc, OVERHEAD_ACC),
HPP__PRINT_FNS("Samples", samples, SAMPLES),
}
#define HPP__COLOR_PRINT_FNS(_name, _fn, _idx)
Definition: hist.c:394
#define HPP__PRINT_FNS(_name, _fn, _idx)
Definition: hist.c:422
#define HPP__COLOR_ACC_PRINT_FNS(_name, _fn, _idx)
Definition: hist.c:408

Definition at line 435 of file hist.c.

◆ perf_hpp_list

Initial value:
= {
.fields = LIST_HEAD_INIT(perf_hpp_list.fields),
.sorts = LIST_HEAD_INIT(perf_hpp_list.sorts),
.nr_header_lines = 1,
}
struct list_head fields
Definition: hist.h:270
struct list_head sorts
Definition: hist.h:271

Definition at line 446 of file hist.c.