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

From: Ingo Molnar
Date: Wed Apr 29 2009 - 07:12:38 EST



* Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/