Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1283977

Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in mce rendezvous process.

From "Raj, Ashok" <ashok.raj@intel.com>
Newsgroups linux.kernel
Subject Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in mce rendezvous process.
Date 2015-12-04 17:20 +0100
Message-ID <qC1ft-50Q-31@gated-at.bofh.it> (permalink)
References <qBLkl-38M-1@gated-at.bofh.it> <qBZGG-3Ud-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi Boris

On Fri, Dec 04, 2015 at 03:34:04PM +0100, Borislav Petkov wrote:
> > @@ -1008,6 +1009,14 @@ void do_machine_check(struct pt_regs *regs, long error_code)
> > +	if (cpu_is_offline(cpu) && (m.mcgstatus & MCG_STATUS_RIPV))
> > +		goto out;
> 
> This CPU - it being offline and all - is not doing the minimal amount of
> work possible IMO.
> 
> Why does it have to do ist_enter(), this_cpu_inc(mce_exception_count),
> etc?

Yes, thats possible to not do ist_enter() and the exception count. 

I tried to keep most of the part as is and leveraging code already
doing the reading of MCG_STATUS. Architecturally we need to also check RIPV
and if clear we should initiate shutdown. 

When we add the logging from offline cpus as next step it would be safe to 
use interrupt stack, and the offline 

I liked the observability part keeping the exception count. if and when we 
online the cpu again, it might look as it noticed nothing. Now we can 
check /proc/interrupts and see the offline cpu also observed the MCE.
> 
> IMO the only things it should do is this:
> 
> 	if (cpu_is_offline(smp_processor_id())) {
> 		mce_wrmsrl(MSR_IA32_MCG_STATUS, 0);
> 		return;
> 	}
> 
> and that should be at the very beginning of do_machine_check(). So
> that the hardware is happy. Concerning Linux, it is offline so no data
> structures on it are valid.

> 
> P.S., please don't put stable@ to CC - add it as a "CC: " line in the
> SOB section instead.

Let me know what you think, i can resend with the Cc: stable line.. I 
Did add the stable line in the right section in an earlier version, but 
deleting some extraneous commit messages accidently got to this one :(. 

Cheers,
Ashok

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[Patch V0] x86, mce: Ensure offline CPU's don't participate in mce rendezvous process. Ashok Raj <ashok.raj@intel.com> - 2015-12-04 00:20 +0100
  Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. Greg KH <greg@kroah.com> - 2015-12-04 00:40 +0100
  Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. Borislav Petkov <bp@alien8.de> - 2015-12-04 15:40 +0100
    Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. "Raj, Ashok" <ashok.raj@intel.com> - 2015-12-04 17:20 +0100
      Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. Borislav Petkov <bp@alien8.de> - 2015-12-04 18:00 +0100
        RE: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. "Luck, Tony" <tony.luck@intel.com> - 2015-12-04 18:30 +0100
          Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. Borislav Petkov <bp@alien8.de> - 2015-12-04 18:40 +0100
            RE: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. "Luck, Tony" <tony.luck@intel.com> - 2015-12-04 19:00 +0100
              Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. Borislav Petkov <bp@alien8.de> - 2015-12-04 19:10 +0100
                RE: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. "Luck, Tony" <tony.luck@intel.com> - 2015-12-04 19:40 +0100
                Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. Borislav Petkov <bp@alien8.de> - 2015-12-04 20:40 +0100
              Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. Andy Lutomirski <luto@amacapital.net> - 2015-12-04 23:40 +0100
                Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. "Raj, Ashok" <ashok.raj@intel.com> - 2015-12-05 00:10 +0100
                Re: [Patch V0] x86, mce: Ensure offline CPU's don't participate in  mce rendezvous process. Andy Lutomirski <luto@amacapital.net> - 2015-12-05 00:20 +0100

csiph-web