mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: kan.liang@intel.com
To: tglx@linutronix.de, peterz@infradead.org, mingo@redhat.com,
	linux-kernel@vger.kernel.org
Cc: acme@kernel.org, eranian@google.com, ak@linux.intel.com,
	Kan Liang <Kan.liang@intel.com>
Subject: [PATCH V4 7/8] perf/x86/intel/uncore: expose uncore_pmu_event functions
Date: Thu,  2 Nov 2017 13:29:52 -0700	[thread overview]
Message-ID: <1509654593-4446-7-git-send-email-kan.liang@intel.com> (raw)
In-Reply-To: <1509654593-4446-1-git-send-email-kan.liang@intel.com>

From: Kan Liang <Kan.liang@intel.com>

Some uncore has custom pmu. For custom pmu, it does not need to
customize everything. For example, it only needs to customize init()
function for client IMC uncore. Other functions like
add()/del()/start()/stop()/read() can use generic code.

Expose the uncore_pmu_event_add/del/start/stop functions.

Signed-off-by: Kan Liang <Kan.liang@intel.com>
---

No changes since V3

 arch/x86/events/intel/uncore.c | 8 ++++----
 arch/x86/events/intel/uncore.h | 4 ++++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/arch/x86/events/intel/uncore.c b/arch/x86/events/intel/uncore.c
index 9849ba1..77cc975 100644
--- a/arch/x86/events/intel/uncore.c
+++ b/arch/x86/events/intel/uncore.c
@@ -451,7 +451,7 @@ static int uncore_assign_events(struct intel_uncore_box *box, int assign[], int
 	return ret ? -EINVAL : 0;
 }
 
-static void uncore_pmu_event_start(struct perf_event *event, int flags)
+void uncore_pmu_event_start(struct perf_event *event, int flags)
 {
 	struct intel_uncore_box *box = uncore_event_to_box(event);
 	int idx = event->hw.idx;
@@ -491,7 +491,7 @@ static void uncore_pmu_event_start(struct perf_event *event, int flags)
 	}
 }
 
-static void uncore_pmu_event_stop(struct perf_event *event, int flags)
+void uncore_pmu_event_stop(struct perf_event *event, int flags)
 {
 	struct intel_uncore_box *box = uncore_event_to_box(event);
 	struct hw_perf_event *hwc = &event->hw;
@@ -528,7 +528,7 @@ static void uncore_pmu_event_stop(struct perf_event *event, int flags)
 	}
 }
 
-static int uncore_pmu_event_add(struct perf_event *event, int flags)
+int uncore_pmu_event_add(struct perf_event *event, int flags)
 {
 	struct intel_uncore_box *box = uncore_event_to_box(event);
 	struct hw_perf_event *hwc = &event->hw;
@@ -600,7 +600,7 @@ static int uncore_pmu_event_add(struct perf_event *event, int flags)
 	return 0;
 }
 
-static void uncore_pmu_event_del(struct perf_event *event, int flags)
+void uncore_pmu_event_del(struct perf_event *event, int flags)
 {
 	struct intel_uncore_box *box = uncore_event_to_box(event);
 	int i;
diff --git a/arch/x86/events/intel/uncore.h b/arch/x86/events/intel/uncore.h
index a508bc5..abb6e9a 100644
--- a/arch/x86/events/intel/uncore.h
+++ b/arch/x86/events/intel/uncore.h
@@ -461,6 +461,10 @@ struct intel_uncore_box *uncore_pmu_to_box(struct intel_uncore_pmu *pmu, int cpu
 u64 uncore_msr_read_counter(struct intel_uncore_box *box, struct perf_event *event);
 void uncore_pmu_start_hrtimer(struct intel_uncore_box *box);
 void uncore_pmu_cancel_hrtimer(struct intel_uncore_box *box);
+void uncore_pmu_event_start(struct perf_event *event, int flags);
+void uncore_pmu_event_stop(struct perf_event *event, int flags);
+int uncore_pmu_event_add(struct perf_event *event, int flags);
+void uncore_pmu_event_del(struct perf_event *event, int flags);
 void uncore_pmu_event_read(struct perf_event *event);
 void uncore_perf_event_update(struct intel_uncore_box *box, struct perf_event *event);
 struct event_constraint *
-- 
2.7.4

  parent reply	other threads:[~2017-11-02 20:30 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-02 20:29 [PATCH V4 1/8] perf/x86/intel/uncore: customized event_read for client IMC uncore kan.liang
2017-11-02 20:29 ` [PATCH V4 2/8] perf/x86/intel/uncore: correct fixed counter index check for NHM kan.liang
2018-01-14 20:47   ` Thomas Gleixner
2017-11-02 20:29 ` [PATCH V4 3/8] perf/x86/intel/uncore: correct fixed counter index check in generic code kan.liang
2018-01-14 20:47   ` Thomas Gleixner
2017-11-02 20:29 ` [PATCH V4 4/8] perf/x86/intel/uncore: add new data structures for free running counters kan.liang
2018-01-14 20:50   ` Thomas Gleixner
2018-01-14 20:52     ` Thomas Gleixner
2017-11-02 20:29 ` [PATCH V4 5/8] perf/x86/intel/uncore: add infrastructure for free running counter kan.liang
2018-01-14 20:52   ` Thomas Gleixner
2018-01-15 15:53     ` Liang, Kan
2017-11-02 20:29 ` [PATCH V4 6/8] perf/x86/intel/uncore: SKX support for IIO free running counters kan.liang
2018-01-14 20:54   ` Thomas Gleixner
2017-11-02 20:29 ` kan.liang [this message]
2018-01-14 20:53   ` [PATCH V4 7/8] perf/x86/intel/uncore: expose uncore_pmu_event functions Thomas Gleixner
2017-11-02 20:29 ` [PATCH V4 8/8] perf/x86/intel/uncore: clean up client IMC uncore kan.liang
2018-01-14 20:53   ` Thomas Gleixner
2017-11-17  2:18 ` [PATCH V4 1/8] perf/x86/intel/uncore: customized event_read for " Liang, Kan
2017-11-17  8:46   ` Thomas Gleixner
2017-12-11 13:53     ` Liang, Kan

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=1509654593-4446-7-git-send-email-kan.liang@intel.com \
    --to=kan.liang@intel.com \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=eranian@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®