public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: Sukadev Bhattiprolu <sukadev@linux•vnet.ibm.com>
To: Jiri Olsa <jolsa@redhat•com>
Cc: Peter Zijlstra <a.p.zijlstra@chello•nl>,
	robert.richter@amd•com, Anton Blanchard <anton@au1•ibm.com>,
	linux-kernel@vger•kernel.org, linuxppc-dev@ozlabs•org,
	Ingo Molnar <mingo@redhat•com>, Paul Mackerras <paulus@samba•org>,
	Arnaldo Carvalho de Melo <acme@ghostprotocols•net>
Subject: Re: [PATCH 3/4] perf/POWER7: Make event translations available in sysfs
Date: Fri, 16 Nov 2012 11:35:37 -0800	[thread overview]
Message-ID: <20121116193537.GA11800@us.ibm.com> (raw)
In-Reply-To: <20121116125154.GB1121@krava.brq.redhat.com>

Jiri Olsa [jolsa@redhat•com] wrote:
| > 
| > Can we remove the assumption that the event id is a generic event that
| > has PERF_COUNT_HW_ prefix and also let the architectures pass in a "show"
| > function ? This would allow architectures to display any arch specific
| > events that don't yet have a generic counterpart.
| > 
| > IOW, can we do something like this (untested) and make PERF_EVENT_ATTR global:
| 
| hm, then you probably can use following:
| 
| http://www.spinics.net/lists/kernel/msg1434233.html

For now, power events can simply be u64 - so am hoping to have something
like this and replace the raw codes:

#define PM_CYC			0x1e
#define PM_GCT_NOSLOT_CYC	0x100f8

EVENT_ATTR_STR() is interesting, but would require new/extra macros like

#define PM_CYC_STR		"0x1e"
#define PM_GCT_NOSLOT_CYC_STR	"0x100f8"

I went down the path we discussed earlier - to have x86 and Power share
the EVENT_ATTR() macros. This is making the x86 code less concise

	EVENT_ATTR(cpu-cycles,	CPU_CYCLES)

becomes

	EVENT_ATTR(cpu-cycles,	PERF_COUNT_HW_CPU_CYCLES, events_sysfs_show)

with each EVENT_ATTR() explcitly adding events_sysfs_show or needing another
wrapper around the wrappers.

Still tweaking it, but would it be flexible to make 'struct pmu_events_attr'
common and let architectures define the EVENT_ATTR() as needed ? Would
duplicate some code but hopefully not a lot.

Sukadev

  reply	other threads:[~2012-11-16 19:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-07 19:18 [PATCH 1/4] perf/powerpc: Use uapi/unistd.h to fix build error Sukadev Bhattiprolu
2012-11-07 19:18 ` [PATCH 2/4] perf/Power7: Use macros to identify perf events Sukadev Bhattiprolu
2012-11-07 19:19 ` [PATCH 3/4] perf/POWER7: Make event translations available in sysfs Sukadev Bhattiprolu
2012-11-14 10:25   ` Jiri Olsa
2012-11-14 18:20     ` Sukadev Bhattiprolu
2012-11-16 12:51       ` Jiri Olsa
2012-11-16 19:35         ` Sukadev Bhattiprolu [this message]
2012-11-19 20:34           ` Jiri Olsa
2012-11-07 19:19 ` [PATCH 4/4] perf: Create a sysfs entry for Power event format Sukadev Bhattiprolu
2012-11-14 10:27   ` Jiri Olsa
2012-11-20 10:43 ` [PATCH 1/4] perf/powerpc: Use uapi/unistd.h to fix build error Suzuki K. Poulose

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121116193537.GA11800@us.ibm.com \
    --to=sukadev@linux$(echo .)vnet.ibm.com \
    --cc=a.p.zijlstra@chello$(echo .)nl \
    --cc=acme@ghostprotocols$(echo .)net \
    --cc=anton@au1$(echo .)ibm.com \
    --cc=jolsa@redhat$(echo .)com \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=linuxppc-dev@ozlabs$(echo .)org \
    --cc=mingo@redhat$(echo .)com \
    --cc=paulus@samba$(echo .)org \
    --cc=robert.richter@amd$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox