[PATCH v6 0/6] Add HiSilicon SoC uncore Performance Monitoring Unit driver

Will Deacon will.deacon at arm.com
Thu Oct 19 08:28:35 PDT 2017


On Thu, Oct 19, 2017 at 01:29:18PM +0100, Mark Rutland wrote:
> Will, are you happy to queue this?
> 
> There's a minor fixup [1] needed in patch 2, but otherwise this looks
> good to me, and builds cleanly.
> 
> I've pushed out a branch [2] with that fix folded in, in case that's
> easier for you. Otherwise, feel free to pick these up with my Ack.

I'm just running some build tests on these. I also tweaked your fix slightly
-- can you check the diff below please?

Will

--->8

diff --git a/drivers/perf/hisilicon/hisi_uncore_pmu.c b/drivers/perf/hisilicon/hisi_uncore_pmu.c
index 2bff43f0736b..c74542af4acf 100644
--- a/drivers/perf/hisilicon/hisi_uncore_pmu.c
+++ b/drivers/perf/hisilicon/hisi_uncore_pmu.c
@@ -69,15 +69,18 @@ static bool hisi_validate_event_group(struct perf_event *event)
 	/* Include count for the event */
 	int counters = 1;
 
-	/*
-	 * We must NOT create groups containing mixed PMUs, although
-	 * software events are acceptable
-	 */
-	if (leader->pmu != event->pmu && !is_software_event(leader))
-		return false;
+	if (!is_software_event(leader)) {
+		/*
+		 * We must NOT create groups containing mixed PMUs, although
+		 * software events are acceptable
+		 */
+		if (leader->pmu != event->pmu)
+			return false;
 
-	/* Increment counter for the leader */
-	counters++;
+		/* Increment counter for the leader */
+		if (leader != event)
+			counters++;
+	}
 
 	list_for_each_entry(sibling, &event->group_leader->sibling_list,
 			    group_entry) {



More information about the linux-arm-kernel mailing list