diff options
Diffstat (limited to 'tools/perf/util/header.c')
| -rw-r--r-- | tools/perf/util/header.c | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 1ec1d9bc2d63..4fd45be95a43 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -1034,6 +1034,13 @@ static int write_auxtrace(struct feat_fd *ff,  	return err;  } +static int write_clockid(struct feat_fd *ff, +			 struct perf_evlist *evlist __maybe_unused) +{ +	return do_write(ff, &ff->ph->env.clockid_res_ns, +			sizeof(ff->ph->env.clockid_res_ns)); +} +  static int cpu_cache_level__sort(const void *a, const void *b)  {  	struct cpu_cache_level *cache_a = (struct cpu_cache_level *)a; @@ -1508,6 +1515,12 @@ static void print_cpu_topology(struct feat_fd *ff, FILE *fp)  		fprintf(fp, "# Core ID and Socket ID information is not available\n");  } +static void print_clockid(struct feat_fd *ff, FILE *fp) +{ +	fprintf(fp, "# clockid frequency: %"PRIu64" MHz\n", +		ff->ph->env.clockid_res_ns * 1000); +} +  static void free_event_desc(struct perf_evsel *events)  {  	struct perf_evsel *evsel; @@ -2531,6 +2544,15 @@ out:  	return ret;  } +static int process_clockid(struct feat_fd *ff, +			   void *data __maybe_unused) +{ +	if (do_read_u64(ff, &ff->ph->env.clockid_res_ns)) +		return -1; + +	return 0; +} +  struct feature_ops {  	int (*write)(struct feat_fd *ff, struct perf_evlist *evlist);  	void (*print)(struct feat_fd *ff, FILE *fp); @@ -2590,6 +2612,7 @@ static const struct feature_ops feat_ops[HEADER_LAST_FEATURE] = {  	FEAT_OPN(CACHE,		cache,		true),  	FEAT_OPR(SAMPLE_TIME,	sample_time,	false),  	FEAT_OPR(MEM_TOPOLOGY,	mem_topology,	true), +	FEAT_OPR(CLOCKID,       clockid,        false)  };  struct header_print_data {  | 
