lkml.org 
[lkml]   [2015]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V2 1/2] perf: Sample additional clock value
On 2/20/15 5:44 AM, Adrian Hunter wrote:
> diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
> index efe2d2d..9385140 100644
> --- a/include/linux/perf_event.h
> +++ b/include/linux/perf_event.h
> @@ -655,7 +655,7 @@ extern void perf_pmu_migrate_context(struct pmu *pmu,
> int src_cpu, int dst_cpu);
> extern u64 perf_event_read_value(struct perf_event *event,
> u64 *enabled, u64 *running);
> -
> +u64 perf_sample_clock_pt(void);

Core functions should not be arch specific. PT == x86.


> @@ -4915,6 +4918,11 @@ perf_output_sample_ustack(struct perf_output_handle *handle, u64 dump_size,
> }
> }
>
> +u64 __weak perf_sample_clock_pt(void)
> +{
> + return 0;
> +}
> +
> static void __perf_event_header__init_id(struct perf_event_header *header,
> struct perf_sample_data *data,
> struct perf_event *event)
> @@ -4943,6 +4951,16 @@ static void __perf_event_header__init_id(struct perf_event_header *header,
> data->cpu_entry.cpu = raw_smp_processor_id();
> data->cpu_entry.reserved = 0;
> }
> +
> + if (sample_type & PERF_SAMPLE_CLOCK) {
> + switch (event->attr.clock) {
> + case PERF_SAMPLE_CLOCK_PT:
> + data->clock = perf_sample_clock_pt();
> + break;
> + default:
> + data->clock = 0;
> + }
> + }
> }
>

Ditto here. This should be transparent for arch specific clocks.

David



\
 
 \ /
  Last update: 2015-02-20 18:21    [W:0.038 / U:1.844 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site