Re: [PATCH 04/29] x86/perfcounters: rework pmc_amd_save_disable_all() and pmc_amd_restore_all()

Ingo Molnar
2009-04-29T11:12:37Z

* Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:

> On Wed, 2009-04-29 at 12:47 +0200, Robert Richter wrote:
> > MSR reads and writes are expensive. This patch adds checks to avoid
> > its usage where possible.
>
> save_disable_all()
> enable(1)
> restore_all()
>
> would not correctly enable 1 with the below modification as we do
> not write the configuration into the msr, on which restore relies,
> as it only toggles the _ENABLE bit.
>
> That said, I'm not sure if that's really an issue, but its why the
> does does as it does.
>
> A better abstraction could perhaps avoid this issue all-together.

Could we remove the disable-all facility altogether and make the
core code NMI-safe? The current approach wont scale on CPUs that
dont have global-disable features.

disable-all was arguably a hack i introduced and which spread too
far. Can you see a conceptual need for it?

Ingo