All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Fleming <matt@console-pimps.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: paulus <paulus@samba.org>,
	stephane eranian <eranian@googlemail.com>,
	Robert Richter <robert.richter@amd.com>,
	Paul Mundt <lethal@linux-sh.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Cyrill Gorcunov <gorcunov@gmail.com>,
	Lin Ming <ming.m.lin@intel.com>,
	Yanmin <yanmin_zhang@linux.intel.com>,
	Deng-Cheng Zhu <dengcheng.zhu@gmail.com>,
	David Miller <davem@davemloft.net>, Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org, Will Deacon <will.deacon@arm.com>
Subject: Re: [RFC][PATCH 00/13] perf pmu interface changes -v3
Date: Sat, 10 Jul 2010 00:34:56 +0100	[thread overview]
Message-ID: <87vd8o8c0v.fsf@linux-g6p1.site> (raw)
In-Reply-To: <1278690734.1900.232.camel@laptop>

On Fri, 09 Jul 2010 17:52:14 +0200, Peter Zijlstra <peterz@infradead.org> wrote:
> Index: linux-2.6/arch/sh/kernel/perf_event.c
> ===================================================================
> --- linux-2.6.orig/arch/sh/kernel/perf_event.c
> +++ linux-2.6/arch/sh/kernel/perf_event.c
> @@ -256,11 +256,14 @@ static int sh_pmu_add(struct perf_event 
>  	struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
>  	struct hw_perf_event *hwc = &event->hw;
>  	int idx = hwc->idx;
> +	int ret = -EAGAIN;
> +
> +	perf_pmu_disable(event->pmu);
>  
>  	if (__test_and_set_bit(idx, cpuc->used_mask)) {
>  		idx = find_first_zero_bit(cpuc->used_mask, sh_pmu->num_events);
>  		if (idx == sh_pmu->num_events)
> -			return -EAGAIN;
> +			goto ret;
>  
>  		__set_bit(idx, cpuc->used_mask);
>  		hwc->idx = idx;
> @@ -273,8 +276,11 @@ static int sh_pmu_add(struct perf_event 
>  		sh_pmu_start(event, PERF_EF_RELOAD);
>  
>  	perf_event_update_userpage(event);
> +	ret = 0;
>  
> -	return 0;
> +out:
> +	perf_pmu_enable(event->pmu);
> +	return ret;
>  }
>  
>  static void sh_pmu_read(struct perf_event *event)

This patch results in the following compilation error,

  CC      arch/sh/kernel/perf_event.o
cc1: warnings being treated as errors
arch/sh/kernel/perf_event.c: In function 'sh_pmu_add':
arch/sh/kernel/perf_event.c:281: error: label 'out' defined but not used
arch/sh/kernel/perf_event.c:266: error: label 'ret' used but not defined
arch/sh/kernel/perf_event.c: In function 'sh_pmu_setup':
arch/sh/kernel/perf_event.c:343: error: parameter 'cpuhw' is initialized
arch/sh/kernel/perf_event.c:343: error: 'cpu' undeclared (first use in this function)
arch/sh/kernel/perf_event.c:343: error: (Each undeclared identifier is reported only once
arch/sh/kernel/perf_event.c:343: error: for each function it appears in.)
arch/sh/kernel/perf_event.c:343: error: left-hand operand of comma expression has no effect
arch/sh/kernel/perf_event.c:345: error: expected declaration specifiers before 'memset'
arch/sh/kernel/perf_event.c:346: error: expected declaration specifiers before '}' token
arch/sh/kernel/perf_event.c:350: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
arch/sh/kernel/perf_event.c:366: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
arch/sh/kernel/perf_event.c:378: error: old-style parameter declarations in prototyped function definition
arch/sh/kernel/perf_event.c:378: error: expected '{' at end of input
make[1]: *** [arch/sh/kernel/perf_event.o] Error 1
make: *** [arch/sh/kernel/perf_event.o] Error 2

You can pick up a CodeSourcery SH toolchain from
http://www.codesourcery.com/sgpp/lite/superh/portal/release1298 in case
you wanted to build any further changes.

Does this patch look OK? It fixes the above compilation error for me.

diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c
index 3bfd70b..bcfb325 100644
--- a/arch/sh/kernel/perf_event.c
+++ b/arch/sh/kernel/perf_event.c
@@ -263,7 +263,7 @@ static int sh_pmu_add(struct perf_event *event, int flags)
 	if (__test_and_set_bit(idx, cpuc->used_mask)) {
 		idx = find_first_zero_bit(cpuc->used_mask, sh_pmu->num_events);
 		if (idx == sh_pmu->num_events)
-			goto ret;
+			goto out;
 
 		__set_bit(idx, cpuc->used_mask);
 		hwc->idx = idx;
@@ -339,7 +339,7 @@ static struct pmu pmu = {
 };
 
 static void sh_pmu_setup(int cpu)
-
+{
 	struct cpu_hw_events *cpuhw = &per_cpu(cpu_hw_events, cpu);
 
 	memset(cpuhw, 0, sizeof(struct cpu_hw_events));

  reply	other threads:[~2010-07-09 23:35 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-09  8:21 [RFC][PATCH 00/13] perf pmu interface changes -v3 Peter Zijlstra
2010-07-09  8:21 ` [PATCH 01/13] perf, x86: Fix Nehalem PMU quirk Peter Zijlstra
2010-07-09  8:21 ` [PATCH 02/13] sparc64: Fix maybe_change_configuration() PCR setting Peter Zijlstra
2010-07-09  8:21 ` [PATCH 03/13] perf: Fix CPU hotplug Peter Zijlstra
2010-07-09  8:21 ` [PATCH 04/13] perf, powerpc: Use perf_sample_data_init() for the FSL code Peter Zijlstra
2010-07-09  8:21 ` [PATCH 05/13] perf, powerpc: Convert the FSL driver to use local64_t Peter Zijlstra
2010-07-09  8:21 ` [RFC][PATCH 06/13] perf: deconstify struct pmu Peter Zijlstra
2010-07-09  8:21 ` [RFC][PATCH 07/13] perf: register pmu implementations Peter Zijlstra
2010-07-09  8:21 ` [RFC][PATCH 08/13] perf: Unindent labels Peter Zijlstra
2010-07-09  8:21 ` [RFC][PATCH 09/13] perf: Reduce perf_disable() usage Peter Zijlstra
2010-07-09  8:21 ` [RFC][PATCH 10/13] perf: Per PMU disable Peter Zijlstra
2010-07-09 10:17   ` Paul Mackerras
2010-07-09 10:30     ` Peter Zijlstra
2010-07-09 10:39       ` Peter Zijlstra
2010-07-09  8:21 ` [RFC][PATCH 11/13] perf: Default PMU ops Peter Zijlstra
2010-07-09  8:21 ` [RFC][PATCH 12/13] perf: Shrink hw_perf_event Peter Zijlstra
2010-07-09  8:21 ` [RFC][PATCH 13/13] perf: Rework the PMU methods Peter Zijlstra
2010-07-10 13:36   ` Frederic Weisbecker
2010-07-10 13:47     ` Peter Zijlstra
2010-07-09 10:39 ` [RFC][PATCH 00/13] perf pmu interface changes -v3 Peter Zijlstra
2010-07-09 15:11 ` Will Deacon
2010-07-09 15:52   ` Peter Zijlstra
2010-07-09 23:34     ` Matt Fleming [this message]
2010-07-09 16:09   ` Peter Zijlstra

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=87vd8o8c0v.fsf@linux-g6p1.site \
    --to=matt@console-pimps.org \
    --cc=davem@davemloft.net \
    --cc=dengcheng.zhu@gmail.com \
    --cc=eranian@googlemail.com \
    --cc=fweisbec@gmail.com \
    --cc=gorcunov@gmail.com \
    --cc=lethal@linux-sh.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ming.m.lin@intel.com \
    --cc=mingo@elte.hu \
    --cc=paulus@samba.org \
    --cc=peterz@infradead.org \
    --cc=robert.richter@amd.com \
    --cc=will.deacon@arm.com \
    --cc=yanmin_zhang@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.