[PATCH v13 01/20] ARM64: Move PMU register related defines to asm/perf_event.h
From: Marc Zyngier <hidden>
Date: 2016-02-29 15:53:13
Also in:
kvm, kvmarm
On 29/02/16 15:41, Will Deacon wrote:
On Mon, Feb 29, 2016 at 01:59:49PM +0000, Marc Zyngier wrote:quoted
On 29/02/16 13:07, Marc Zyngier wrote:quoted
On 25/02/16 02:02, Shannon Zhao wrote:quoted
On 2016/2/25 1:52, Will Deacon wrote:quoted
On Wed, Feb 24, 2016 at 01:08:21PM +0800, Shannon Zhao wrote:quoted
From: Shannon Zhao <redacted> To use the ARMv8 PMU related register defines from the KVM code, we move the relevant definitions to asm/perf_event.h header file and rename them with prefix ARMV8_PMU_. Signed-off-by: Anup Patel <redacted> Signed-off-by: Shannon Zhao <redacted> Acked-by: Marc Zyngier <redacted> Reviewed-by: Andrew Jones <redacted> --- arch/arm64/include/asm/perf_event.h | 35 +++++++++++++++++++ arch/arm64/kernel/perf_event.c | 68 ++++++++++--------------------------- 2 files changed, 52 insertions(+), 51 deletions(-)Looks fine to me, but we're going to get some truly horrible conflicts in -next. I'm open to suggestions on the best way to handle this, but one way would be: 1. Duplicate all the #defines privately in KVM (queue via kvm tree)This way seems not proper I think.quoted
2. Rebase this patch onto my perf/updates branch [1] (queue via me)While to this series, it really relies on the perf_event.h to compile and test, so maybe for KVM-ARM and KVM maintainers it's not proper.quoted
3. Patch at -rc1 dropping the #defines from (1) and moving to the new perf_event.h stuffI vote for this way. Since the patch in [1] is small and nothing else relies on them, I think it would be simple to rebase them onto this series.quoted
Thoughts?Anyway, there are only 3 lines which have conflicts. I'm not sure whether we could handle this when we merge them.I think you're missing the point: - We want both the arm64 perf and KVM trees to be easy to merge - The conflicts are not that simple to resolve - We want these conflicts to be solved before it hits Linus' tree With that in mind, here's what I'm suggesting we merge as a first patch: https://git.kernel.org/cgit/linux/kernel/git/kvmarm/kvmarm.git/commit/?h=queue&id=2029b4b02691ec6ebba3d281068e783353d7e108 Once this and the perf/updates branch are merged, we can add one last patch reverting this hack and actually doing the renaming work (Will has posted a resolution for most of the new things).For the record, here's the patch I propose we merge once everything gets into mainline: https://git.kernel.org/cgit/linux/kernel/git/kvmarm/kvmarm.git/commit/?h=queue&id=ba1e09b2f2cd2d5cc5cfdb76e96460aee1bd9482I just spotted a bug in my perf/updates branch, so this might need to change ever so slightly. Easiest thing is probably to cook something against -next once we're nearer the merge window and things have settled down.
Amusingly enough, it looks like the KVM code suffers from the exact same bug (PMCR_EL0.LC is outside of the writeable mask). I'll fix the KVM side, and keep the cleanup patch on the back burner. Thanks for the heads up, M. -- Jazz is not dead. It just smells funny...