public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: robert.richter@amd•com (Robert Richter)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH 6/6] sh: oprofile: Use perf-events oprofile backend
Date: Tue, 28 Sep 2010 00:45:51 +0200	[thread overview]
Message-ID: <20100927224551.GX13563@erda.amd.com> (raw)
In-Reply-To: <20100927222627.GH28588@console-pimps.org>

On 27.09.10 18:26:27, Matt Fleming wrote:
> On Tue, Sep 28, 2010 at 12:07:03AM +0200, Robert Richter wrote:
> > On 27.09.10 16:01:38, Matt Fleming wrote:
> > > On Thu, Sep 16, 2010 at 04:32:54PM +0200, Robert Richter wrote:
> > > > > diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c
> > > > > index 2cb9ad5..3c3fc9a 100644
> > > > > --- a/arch/sh/kernel/perf_event.c
> > > > > +++ b/arch/sh/kernel/perf_event.c
> > > > > @@ -59,6 +59,14 @@ static inline int sh_pmu_initialized(void)
> > > > >  	return !!sh_pmu;
> > > > >  }
> > > > >  
> > > > > +const char *sh_pmu_name(void)
> > > > > +{
> > > > > +	if (!sh_pmu)
> > > > > +		return NULL;
> > > > > +
> > > > > +	return sh_pmu->name;
> > > > > +}
> > > > 
> > > > Couldn't we make this a generic function like perf_num_counters()?
> > > 
> > > Well, ARM doesn't have names as strings for its pmus currently. What's
> > > more, ARM wouldn't use it; SH would be the only user of this function. I
> > > don't think this one makes sense to be a generic function.
> > 
> > I didn't catch this with my first review, the function will need an
> > EXPORT_SYMBOL_GPL() to allow building modules. This will mean an
> > interface extension what should be non-arch. So, for architectures we
> > need the pmu name like SH we just implement the generic function. For
> > ARM we don't need to provide this function.
> 
> Yeah my bad, I just hit this EXPORT_SYMBOL_GPL issue when compiling
> oprofile as a module.
> 
> > Most of the interface is defined in linux/perf_event.h. We shouldn't
> > move this to asm/perf_event.h, so this is one more argument for the
> > non-arch implementation.
> 
> I'm not advocating moving this function to asm/perf_event.h.
> 
> > As the implementation of the function would be optional, why should we
> > make it architectural?
> 
> I don't see why we should pollute the perf namespace with a function
> that is only being used inside the SH oprofile code? There would be
> exactly one use of this function and I doubt the perf guys will want
> this function exposed. In it's current state, it really is no use to any
> architecture other than SH.
> 
> We can always add a generic perf_pmu_name() function later if needed,
> but it's definitely not needed at the moment.

Ok, so then let's implement sh_pmu_name() in
arch/sh/oprofile/common.c, we import asm/perf_event.h to get access to
struct sh_pmu. This could be implemented as a static function then and
we also get rid of this interface thing.

-Robert

-- 
Advanced Micro Devices, Inc.
Operating System Research Center

  reply	other threads:[~2010-09-27 22:45 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-13  6:07 [PATCH V3 0/6] Generalise ARM perf-events backend for oprofile Matt Fleming
2010-09-13  6:07 ` [PATCH 1/6] perf: Add helper function to return number of counters Matt Fleming
2010-09-16 12:32   ` Robert Richter
2010-09-13  6:07 ` [PATCH 2/6] ARM: oprofile: Rename op_arm to oprofile_perf Matt Fleming
2010-09-16 12:46   ` Robert Richter
2010-09-13  6:07 ` [PATCH 3/6] ARM: oprofile: Move non-ARM code into separate init/exit functions Matt Fleming
2010-09-16 12:55   ` Robert Richter
2010-09-13  6:07 ` [PATCH 4/6] oprofile: Abstract the perf-events backend Matt Fleming
2010-09-16 13:15   ` Robert Richter
2010-09-13  6:07 ` [PATCH 5/6] ARM: Make oprofile depend on CONFIG_HW_PERF_EVENTS Matt Fleming
2010-09-13  8:39   ` Will Deacon
2010-09-16 13:34     ` Robert Richter
2010-09-13  9:22   ` Sergei Shtylyov
2010-09-13  6:07 ` [PATCH 6/6] sh: oprofile: Use perf-events oprofile backend Matt Fleming
2010-09-16 14:32   ` Robert Richter
2010-09-27 20:01     ` Matt Fleming
2010-09-27 22:07       ` Robert Richter
2010-09-27 22:26         ` Matt Fleming
2010-09-27 22:45           ` Robert Richter [this message]
2010-09-28  8:33             ` Matt Fleming
2010-09-30  1:04           ` Paul Mundt
2010-09-30  8:14             ` Will Deacon
2010-09-13  7:13 ` [PATCH V3 0/6] Generalise ARM perf-events backend for oprofile Marc Titinger
2010-09-13  7:50   ` Matt Fleming
2010-09-13  8:51     ` Ingo Molnar
2010-09-13 11:04       ` Matt Fleming
2010-09-13 10:08 ` Will Deacon
2010-09-13 11:18   ` Matt Fleming
2010-09-16 14:48     ` Robert Richter

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=20100927224551.GX13563@erda.amd.com \
    --to=robert.richter@amd$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /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