On Mon, Nov 23, 2020 at 10:05 PM Peter Zijlstra <[email protected]> wrote: > > On Mon, Nov 23, 2020 at 01:37:25PM +0800, Pingfan Liu wrote: > > > +/* When crashed, other cpus hang in idle loop, so here do an emergency job > > under no lock */ > > -ENOPARSE, -ETOOLONG > > > +void perf_pmu_disable_all(void) > > +{ > > + struct pmu *pmu; > > + > > + list_for_each_entry(pmu, &pmus, entry) > > + if (pmu->pmu_disable) > > + pmu->pmu_disable(pmu); > > +} > > This violates both locking rules and coding style. Oops. I will re-work on it to see how to run it safely on crashed context.
Thanks, Pingfan

