Messages in this thread | | | Date | Thu, 19 Nov 2020 19:15:15 +0000 | From | Will Deacon <> | Subject | Re: [PATCH v4 2/9] arm64: perf: Enable pmu counter direct access for perf event on armv8 |
| |
On Fri, Nov 13, 2020 at 06:06:33PM +0000, Mark Rutland wrote: > On Thu, Oct 01, 2020 at 09:01:09AM -0500, Rob Herring wrote: > > +static void armv8pmu_event_unmapped(struct perf_event *event, struct mm_struct *mm) > > +{ > > + if (!(event->hw.flags & ARMPMU_EL0_RD_CNTR)) > > + return; > > + > > + if (atomic_dec_and_test(&mm->context.pmu_direct_access)) > > + on_each_cpu_mask(mm_cpumask(mm), refresh_pmuserenr, NULL, 1); > > +} > > I didn't think we kept our mm_cpumask() up-to-date in all cases on > arm64, so I'm not sure we can use it like this. > > Will, can you confirm either way?
We don't update mm_cpumask() as the cost of the atomic showed up in some benchmarks I did years ago and we've never had any need for the thing anyway because out TLB invalidation is one or all.
Will
| |