[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1703240929030.3688@nanos>
Date: Fri, 24 Mar 2017 09:31:25 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Peter Zijlstra <peterz@...radead.org>
cc: kan.liang@...el.com, mingo@...hat.com, acme@...nel.org,
linux-kernel@...r.kernel.org, eranian@...gle.com, jolsa@...nel.org,
ak@...ux.intel.com
Subject: Re: [PATCH 1/3] perf/x86: add sysfs entry to freeze counter on SMI
On Thu, 23 Mar 2017, Peter Zijlstra wrote:
> On Thu, Mar 23, 2017 at 11:25:49AM -0700, kan.liang@...el.com wrote:
> > + for_each_possible_cpu(cpu) {
> > + rdmsrl_on_cpu(cpu, MSR_IA32_DEBUGCTLMSR, &debugctlmsr);
> > + if (val)
> > + wrmsrl_on_cpu(cpu, MSR_IA32_DEBUGCTLMSR, debugctlmsr | DEBUGCTLMSR_FREEZE_WHILE_SMM);
> > + else
> > + wrmsrl_on_cpu(cpu, MSR_IA32_DEBUGCTLMSR, debugctlmsr & ~DEBUGCTLMSR_FREEZE_WHILE_SMM);
> > + }
>
> No; that's just disgusting. Also {rd,wr}msr_on_cpu() should die, exactly
> because people end up writing crap like this.
Aside of that this is completely broken against other users of DEBUGCTLMSR
because it's not atomic vs. the other modifications.
Thanks,
tglx
Powered by blists - more mailing lists