Hi all,
Today's linux-next merge of the kvm-arm tree got a conflict in:
drivers/perf/apple_m1_cpu_pmu.c
between commit:
c2e793da59fc ("perf: apple_m1: Don't disable counter in m1_pmu_enable_event()")
from the arm-perf tree and commit:
75ecffc361bb ("drivers/perf: apple_m1: Refactor event select/filter configuration")
from the kvm-arm tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
--
Cheers,
Stephen Rothwell
diff --cc drivers/perf/apple_m1_cpu_pmu.c
index 39349ecec3c1,6be703619a97..000000000000
--- a/drivers/perf/apple_m1_cpu_pmu.c
+++ b/drivers/perf/apple_m1_cpu_pmu.c
@@@ -396,7 -428,11 +428,7 @@@ static void m1_pmu_enable_event(struct
user = event->hw.config_base & M1_PMU_CFG_COUNT_USER;
kernel = event->hw.config_base & M1_PMU_CFG_COUNT_KERNEL;
- m1_pmu_configure_counter(event->hw.idx, evt, user, kernel);
- m1_pmu_disable_counter_interrupt(event->hw.idx);
- m1_pmu_disable_counter(event->hw.idx);
- isb();
-
+ m1_pmu_configure_counter(event->hw.idx, event->hw.config_base);
m1_pmu_enable_counter(event->hw.idx);
m1_pmu_enable_counter_interrupt(event->hw.idx);
isb();
On Wed, Mar 12, 2025 at 08:18:53PM +1100, Stephen Rothwell wrote:
> Hi all,
>
> Today's linux-next merge of the kvm-arm tree got a conflict in:
>
> drivers/perf/apple_m1_cpu_pmu.c
>
> between commit:
>
> c2e793da59fc ("perf: apple_m1: Don't disable counter in m1_pmu_enable_event()")
>
> from the arm-perf tree and commit:
>
> 75ecffc361bb ("drivers/perf: apple_m1: Refactor event select/filter configuration")
>
> from the kvm-arm tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc drivers/perf/apple_m1_cpu_pmu.c
> index 39349ecec3c1,6be703619a97..000000000000
> --- a/drivers/perf/apple_m1_cpu_pmu.c
> +++ b/drivers/perf/apple_m1_cpu_pmu.c
> @@@ -396,7 -428,11 +428,7 @@@ static void m1_pmu_enable_event(struct
> user = event->hw.config_base & M1_PMU_CFG_COUNT_USER;
> kernel = event->hw.config_base & M1_PMU_CFG_COUNT_KERNEL;
>
> - m1_pmu_configure_counter(event->hw.idx, evt, user, kernel);
> - m1_pmu_disable_counter_interrupt(event->hw.idx);
> - m1_pmu_disable_counter(event->hw.idx);
> - isb();
> -
> + m1_pmu_configure_counter(event->hw.idx, event->hw.config_base);
> m1_pmu_enable_counter(event->hw.idx);
> m1_pmu_enable_counter_interrupt(event->hw.idx);
> isb();
Looks fine to me but I'd also be happy to stick the first two patches
on a shared branch to avoid this. Oliver?
Will
On Wed, Mar 12, 2025 at 12:45:02PM +0000, Will Deacon wrote:
> On Wed, Mar 12, 2025 at 08:18:53PM +1100, Stephen Rothwell wrote:
> > Hi all,
> >
> > Today's linux-next merge of the kvm-arm tree got a conflict in:
> >
> > drivers/perf/apple_m1_cpu_pmu.c
> >
> > between commit:
> >
> > c2e793da59fc ("perf: apple_m1: Don't disable counter in m1_pmu_enable_event()")
> >
> > from the arm-perf tree and commit:
> >
> > 75ecffc361bb ("drivers/perf: apple_m1: Refactor event select/filter configuration")
> >
> > from the kvm-arm tree.
> >
> > I fixed it up (see below) and can carry the fix as necessary. This
> > is now fixed as far as linux-next is concerned, but any non trivial
> > conflicts should be mentioned to your upstream maintainer when your tree
> > is submitted for merging. You may also want to consider cooperating
> > with the maintainer of the conflicting tree to minimise any particularly
> > complex conflicts.
> >
> > --
> > Cheers,
> > Stephen Rothwell
> >
> > diff --cc drivers/perf/apple_m1_cpu_pmu.c
> > index 39349ecec3c1,6be703619a97..000000000000
> > --- a/drivers/perf/apple_m1_cpu_pmu.c
> > +++ b/drivers/perf/apple_m1_cpu_pmu.c
> > @@@ -396,7 -428,11 +428,7 @@@ static void m1_pmu_enable_event(struct
> > user = event->hw.config_base & M1_PMU_CFG_COUNT_USER;
> > kernel = event->hw.config_base & M1_PMU_CFG_COUNT_KERNEL;
> >
> > - m1_pmu_configure_counter(event->hw.idx, evt, user, kernel);
> > - m1_pmu_disable_counter_interrupt(event->hw.idx);
> > - m1_pmu_disable_counter(event->hw.idx);
> > - isb();
> > -
> > + m1_pmu_configure_counter(event->hw.idx, event->hw.config_base);
> > m1_pmu_enable_counter(event->hw.idx);
> > m1_pmu_enable_counter_interrupt(event->hw.idx);
> > isb();
>
> Looks fine to me but I'd also be happy to stick the first two patches
> on a shared branch to avoid this. Oliver?
Agreed!
git://git.kernel.org/pub/scm/linux/kernel/git/oupton/linux.git perf/m1-guest-events
Thanks,
Oliver
On Wed, Mar 12, 2025 at 10:07:52AM -0700, Oliver Upton wrote:
> On Wed, Mar 12, 2025 at 12:45:02PM +0000, Will Deacon wrote:
> > On Wed, Mar 12, 2025 at 08:18:53PM +1100, Stephen Rothwell wrote:
> > > Hi all,
> > >
> > > Today's linux-next merge of the kvm-arm tree got a conflict in:
> > >
> > > drivers/perf/apple_m1_cpu_pmu.c
> > >
> > > between commit:
> > >
> > > c2e793da59fc ("perf: apple_m1: Don't disable counter in m1_pmu_enable_event()")
> > >
> > > from the arm-perf tree and commit:
> > >
> > > 75ecffc361bb ("drivers/perf: apple_m1: Refactor event select/filter configuration")
> > >
> > > from the kvm-arm tree.
> > >
> > > I fixed it up (see below) and can carry the fix as necessary. This
> > > is now fixed as far as linux-next is concerned, but any non trivial
> > > conflicts should be mentioned to your upstream maintainer when your tree
> > > is submitted for merging. You may also want to consider cooperating
> > > with the maintainer of the conflicting tree to minimise any particularly
> > > complex conflicts.
> > >
> > > --
> > > Cheers,
> > > Stephen Rothwell
> > >
> > > diff --cc drivers/perf/apple_m1_cpu_pmu.c
> > > index 39349ecec3c1,6be703619a97..000000000000
> > > --- a/drivers/perf/apple_m1_cpu_pmu.c
> > > +++ b/drivers/perf/apple_m1_cpu_pmu.c
> > > @@@ -396,7 -428,11 +428,7 @@@ static void m1_pmu_enable_event(struct
> > > user = event->hw.config_base & M1_PMU_CFG_COUNT_USER;
> > > kernel = event->hw.config_base & M1_PMU_CFG_COUNT_KERNEL;
> > >
> > > - m1_pmu_configure_counter(event->hw.idx, evt, user, kernel);
> > > - m1_pmu_disable_counter_interrupt(event->hw.idx);
> > > - m1_pmu_disable_counter(event->hw.idx);
> > > - isb();
> > > -
> > > + m1_pmu_configure_counter(event->hw.idx, event->hw.config_base);
> > > m1_pmu_enable_counter(event->hw.idx);
> > > m1_pmu_enable_counter_interrupt(event->hw.idx);
> > > isb();
> >
> > Looks fine to me but I'd also be happy to stick the first two patches
> > on a shared branch to avoid this. Oliver?
>
> Agreed!
>
> git://git.kernel.org/pub/scm/linux/kernel/git/oupton/linux.git perf/m1-guest-events
Cheers, man. I'll pull that in shortly...
Will
© 2016 - 2025 Red Hat, Inc.