diff mbox

sparc: perf: Remove redundant perf_pmu_{en|dis}able calls

Message ID 1426795557-135648-1-git-send-email-david.ahern@oracle.com
State Accepted
Delegated to: David Miller
Headers show

Commit Message

David Ahern March 19, 2015, 8:05 p.m. UTC
perf_pmu_disable is called by core perf code before pmu->del and the
enable function is called by core perf code afterwards. No need to
call again within sparc_pmu_del.

Ditto for pmu->add and sparc_pmu_add.

Signed-off-by: David Ahern <david.ahern@oracle.com>
Acked-by: Bob Picco <bob.picco@oracle.com>
---
 arch/sparc/kernel/perf_event.c | 4 ----
 1 file changed, 4 deletions(-)

Comments

David Miller March 20, 2015, 1:55 a.m. UTC | #1
From: David Ahern <david.ahern@oracle.com>
Date: Thu, 19 Mar 2015 16:05:57 -0400

> perf_pmu_disable is called by core perf code before pmu->del and the
> enable function is called by core perf code afterwards. No need to
> call again within sparc_pmu_del.
> 
> Ditto for pmu->add and sparc_pmu_add.
> 
> Signed-off-by: David Ahern <david.ahern@oracle.com>
> Acked-by: Bob Picco <bob.picco@oracle.com>

Applied, thanks David.

I wonder why I coded it this way, maybe long ago in the past
the caller didn't do this.
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Ahern March 20, 2015, 2:17 a.m. UTC | #2
On 3/19/15 7:55 PM, David Miller wrote:
> I wonder why I coded it this way, maybe long ago in the past
> the caller didn't do this.

short answer: I know 2.6.39 does not need this, so it changed somewhere 
between 2.6.39 and 3.18.

 From what I can tell you used the x86 perf code as the template for 
sparc. That was roughly 2009 or 2010. The x86 code has changed a lot 
over the years; the sparc code not so much.


--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c
index 46a5e4508752..6dc4e793df4c 100644
--- a/arch/sparc/kernel/perf_event.c
+++ b/arch/sparc/kernel/perf_event.c
@@ -1101,7 +1101,6 @@  static void sparc_pmu_del(struct perf_event *event, int _flags)
 	int i;
 
 	local_irq_save(flags);
-	perf_pmu_disable(event->pmu);
 
 	for (i = 0; i < cpuc->n_events; i++) {
 		if (event == cpuc->event[i]) {
@@ -1127,7 +1126,6 @@  static void sparc_pmu_del(struct perf_event *event, int _flags)
 		}
 	}
 
-	perf_pmu_enable(event->pmu);
 	local_irq_restore(flags);
 }
 
@@ -1361,7 +1359,6 @@  static int sparc_pmu_add(struct perf_event *event, int ef_flags)
 	unsigned long flags;
 
 	local_irq_save(flags);
-	perf_pmu_disable(event->pmu);
 
 	n0 = cpuc->n_events;
 	if (n0 >= sparc_pmu->max_hw_events)
@@ -1394,7 +1391,6 @@  static int sparc_pmu_add(struct perf_event *event, int ef_flags)
 
 	ret = 0;
 out:
-	perf_pmu_enable(event->pmu);
 	local_irq_restore(flags);
 	return ret;
 }