Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e80a82a authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Ingo Molnar
Browse files

perf: Dynamic pmu types



Extend the perf_pmu_register() interface to allow for named and
dynamic pmu types.

Because we need to support the existing static types we cannot use
dynamic types for everything, hence provide a type argument.

If we want to enumerate the PMUs they need a name, provide one.

Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <20101117222056.259707703@chello.nl>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 9f58a205
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -882,7 +882,7 @@ int __init init_hw_perf_events(void)
	/* And set up PMU specification */
	/* And set up PMU specification */
	alpha_pmu = &ev67_pmu;
	alpha_pmu = &ev67_pmu;


	perf_pmu_register(&pmu);
	perf_pmu_register(&pmu, "cpu", PERF_TYPE_RAW);


	return 0;
	return 0;
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -3034,7 +3034,7 @@ init_hw_perf_events(void)
		pr_info("no hardware support available\n");
		pr_info("no hardware support available\n");
	}
	}


	perf_pmu_register(&pmu);
	perf_pmu_register(&pmu, "cpu", PERF_TYPE_RAW);


	return 0;
	return 0;
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -1379,7 +1379,7 @@ int register_power_pmu(struct power_pmu *pmu)
		freeze_events_kernel = MMCR0_FCHV;
		freeze_events_kernel = MMCR0_FCHV;
#endif /* CONFIG_PPC64 */
#endif /* CONFIG_PPC64 */


	perf_pmu_register(&power_pmu);
	perf_pmu_register(&power_pmu, "cpu", PERF_TYPE_RAW);
	perf_cpu_notifier(power_pmu_notifier);
	perf_cpu_notifier(power_pmu_notifier);


	return 0;
	return 0;
+1 −1
Original line number Original line Diff line number Diff line
@@ -681,7 +681,7 @@ int register_fsl_emb_pmu(struct fsl_emb_pmu *pmu)
	pr_info("%s performance monitor hardware support registered\n",
	pr_info("%s performance monitor hardware support registered\n",
		pmu->name);
		pmu->name);


	perf_pmu_register(&fsl_emb_pmu);
	perf_pmu_register(&fsl_emb_pmu, "cpu", PERF_TYPE_RAW);


	return 0;
	return 0;
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -389,7 +389,7 @@ int __cpuinit register_sh_pmu(struct sh_pmu *_pmu)


	WARN_ON(_pmu->num_events > MAX_HWEVENTS);
	WARN_ON(_pmu->num_events > MAX_HWEVENTS);


	perf_pmu_register(&pmu);
	perf_pmu_register(&pmu, "cpu", PERF_TYPE_RAW);
	perf_cpu_notifier(sh_pmu_notifier);
	perf_cpu_notifier(sh_pmu_notifier);
	return 0;
	return 0;
}
}
Loading