Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1210369

Re: [PATCH RFC 06/10] perf,tools: New RECORD type PERF_RECORD_STAT_READ

From Jiri Olsa <jolsa@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH RFC 06/10] perf,tools: New RECORD type PERF_RECORD_STAT_READ
Date 2015-08-20 12:00 +0200
Message-ID <pZuND-1gR-61@gated-at.bofh.it> (permalink)
References <pYSfg-3x6-7@gated-at.bofh.it> <pYSfg-3x6-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, Aug 18, 2015 at 05:25:42AM -0400, kan.liang@intel.com wrote:
> From: Kan Liang <kan.liang@intel.com>
> 
> Introduce a new user RECORD type PERF_RECORD_STAT_READ to store the
> stat event read result.
> 
> Signed-off-by: Kan Liang <kan.liang@intel.com>
> ---
>  tools/perf/util/event.c   |  1 +
>  tools/perf/util/event.h   | 10 ++++++++++
>  tools/perf/util/session.c | 15 +++++++++++++++
>  tools/perf/util/tool.h    |  1 +
>  4 files changed, 27 insertions(+)
> 
> diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
> index 7ff6127..601f4be 100644
> --- a/tools/perf/util/event.c
> +++ b/tools/perf/util/event.c
> @@ -37,6 +37,7 @@ static const char *perf_event__names[] = {
>  	[PERF_RECORD_AUXTRACE_INFO]		= "AUXTRACE_INFO",
>  	[PERF_RECORD_AUXTRACE]			= "AUXTRACE",
>  	[PERF_RECORD_AUXTRACE_ERROR]		= "AUXTRACE_ERROR",
> +	[PERF_RECORD_STAT_READ]			= "STAT_READ",
>  };
>  
>  const char *perf_event__name(unsigned int id)
> diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h
> index f729df5..f6932cf 100644
> --- a/tools/perf/util/event.h
> +++ b/tools/perf/util/event.h
> @@ -226,6 +226,7 @@ enum perf_user_event_type { /* above any possible kernel type */
>  	PERF_RECORD_AUXTRACE_INFO		= 70,
>  	PERF_RECORD_AUXTRACE			= 71,
>  	PERF_RECORD_AUXTRACE_ERROR		= 72,
> +	PERF_RECORD_STAT_READ			= 73,
>  	PERF_RECORD_HEADER_MAX
>  };
>  
> @@ -355,6 +356,14 @@ struct context_switch_event {
>  	u32 next_prev_tid;
>  };
>  
> +struct stat_read_event {
> +	struct perf_event_header header;
> +	u64	value;		/* counter value delta */
> +	u32	cpu;
> +	u32	pos_id;		/* event position in evlist */
> +	u64	time;		/* time stamp */
> +};

could we make this more generic like:

struct stat_event {
        struct perf_event_header        header;

        u64     id;
        u32     cpu;
        u32     thread;

        union {
                struct {
                        u64 val;
                        u64 ena;
                        u64 run;
                };
                u64 values[3];
        };
};


I'd agreed with the time to be added, but I think it should
contains raw values, not deltas (and all 3 them: val, ena, run)

also I haven't got the value of the pos_id, so far seems
like this could be obtained in report time and does not
need to be part of the event


thanks,
jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH RFC 06/10] perf,tools: New RECORD type PERF_RECORD_STAT_READ kan.liang@intel.com - 2015-08-18 18:50 +0200
  Re: [PATCH RFC 06/10] perf,tools: New RECORD type  PERF_RECORD_STAT_READ Jiri Olsa <jolsa@redhat.com> - 2015-08-20 12:00 +0200

csiph-web