linux-mips
[Top] [All Lists]

Re: [PATCH v5 10/12] MIPS/Perf-events: allow modules to get pmu number o

To: Deng-Cheng Zhu <dengcheng.zhu@gmail.com>
Subject: Re: [PATCH v5 10/12] MIPS/Perf-events: allow modules to get pmu number of counters
From: David Daney <david.s.daney@gmail.com>
Date: Thu, 27 May 2010 16:16:29 -0700
Cc: linux-mips@linux-mips.org, ralf@linux-mips.org, a.p.zijlstra@chello.nl, paulus@samba.org, mingo@elte.hu, acme@redhat.com, jamie.iles@picochip.com, will.deacon@arm.com
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=nYzHgLRqbSIO8lO5ShFSh9/5mUg1/i3K2H9LSdyLbb0=; b=vswm3lN3pg+KneysR7CeIykwW2e5i8vuMrOLFBP/61FxOPCinJf1Bi+S3jbXUnXKw9 rH07vlP7y/348RWNPVGAC7CTYTx6xaWrQwM1JXZ9SfRajrU5Mh4nWMafljtOUYxTmm07 RTj8vwueChJysLUCaXIPAgUSnAiIVWXvoxcmA=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=h9wWkXU0Z80cgC+q3E4RI5KhK1RPqGSI68Id22DBFjx6WoCA6cxKwONtkp7d+TWfu5 Sk8g6BsgH8jqGyfVHFTu93owEIVvzsHfxfMZn80TLAvBz+/mt57IDvbFiq46ECsuuOww 60kpBeJygM4TdXTrYh7XibEePxa9Ziq065L/Q=
In-reply-to: <1274965420-5091-11-git-send-email-dengcheng.zhu@gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1274965420-5091-1-git-send-email-dengcheng.zhu@gmail.com> <1274965420-5091-11-git-send-email-dengcheng.zhu@gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.0.4-1.fc12 Thunderbird/3.0.4
On 05/27/2010 06:03 AM, Deng-Cheng Zhu wrote:
Oprofile module needs a function to get the number of pmu counters in its
high level interfaces.

Signed-off-by: Deng-Cheng Zhu<dengcheng.zhu@gmail.com>
---
  arch/mips/include/asm/pmu.h   |    1 +
  arch/mips/kernel/perf_event.c |    6 ++++++
  2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/arch/mips/include/asm/pmu.h b/arch/mips/include/asm/pmu.h
index 16d4fcd..023a915 100644
--- a/arch/mips/include/asm/pmu.h
+++ b/arch/mips/include/asm/pmu.h
@@ -114,5 +114,6 @@ enum mips_pmu_id {
  extern const char *mips_pmu_names[];

  extern enum mips_pmu_id mipspmu_get_pmu_id(void);
+extern int mipspmu_get_max_events(void);

  #endif /* __MIPS_PMU_H__ */
diff --git a/arch/mips/kernel/perf_event.c b/arch/mips/kernel/perf_event.c
index f05e2b1..dc3a553 100644
--- a/arch/mips/kernel/perf_event.c
+++ b/arch/mips/kernel/perf_event.c
@@ -140,6 +140,12 @@ enum mips_pmu_id mipspmu_get_pmu_id(void)
  }
  EXPORT_SYMBOL_GPL(mipspmu_get_pmu_id);

+int mipspmu_get_max_events(void)
+{
+       return mipspmu ? mipspmu->num_counters : 0;
+}
+EXPORT_SYMBOL_GPL(mipspmu_get_max_events);
+

Why is it called 'max_events' when it is returning the number of counters? How about mipspmu_get_max_counters?

Do we even need this accessor?

Why not just query it from the struct mips_pmu? Don't you need the mipspmu structure anyhow to be able to use the counters?

David Daney

<Prev in Thread] Current Thread [Next in Thread>