[RFC] perf: Clear MSRs on kexec
dzickus at redhat.com
Tue Aug 4 06:57:35 PDT 2015
On Tue, Aug 04, 2015 at 07:52:29AM +0200, Jiri Olsa wrote:
> On Mon, Aug 03, 2015 at 11:54:17PM +0200, Peter Zijlstra wrote:
> > On Mon, Aug 03, 2015 at 11:32:28PM +0200, Jiri Olsa wrote:
> > > hi,
> > > I'm getting following message on the kdump kernel start
> > >
> > > Broken BIOS detected, complain to your hardware vendor.\
> > > [Firmware Bug]: the BIOS has corrupted hw-PMU resources (MSR 38d is b0)
> > >
> > > it seems to be caused by NMI watchdog being configured
> > > and fixed counter values stays in MSRs, which triggers
> > > warning in check_hw_exists and disables perf support
> > > in kdump kernel.. which probably does not hurt ;-)
> > >
> > > zeroing MSRs during kdump shutdown seems to work (attached)
> > > but I'm not sure thats correct place for kdump perf callback
> > Right, but why bother? All that kernel needs to do is write a memory
> > dump to someplace and reboot, right? The less you do, the less can go
> > wrong.
> well, I was hunting that 'Broken BIOS..' message which is wrong
It was the limitation we understood, when we implemented the
check_hw_exists() years ago.
> I wouldn't think anyone wants to use perf under kdump kernel,
> but you never know ;-)
The amount of warning messages in the kdump kernel is significant, this
message is just another message to add to the noise. Heck we have to poll
irqs because if we enable them, drivers would crash left and right due to
left over pending irqs from the previous kernel.
As Peter said, how much code are we going to put in the crash path to make
kdump less noisy?
Eric B. usually frowns pretty heavily on this.
More information about the kexec