+ Tony. On Mon, Nov 23, 2015 at 03:47:44PM +0100, Paolo Bonzini wrote: > On 23/11/2015 14:22, Eduardo Habkost wrote: > > > Software Error Recovery, i.e. SER, is purely an Intel feature and it > > > shouldn't be set by default. Enable it only on Intel. > > > > What happens when SER is enabled on an AMD CPU? If it really > > should't be enabled, why is KVM returning it on > > KVM_X86_GET_MCE_CAP_SUPPORTED? > > Indeed... is it a problem if our frankenstein AMD CPU can recover from > memory errors? The problem stems from the fact that the guest kernel looks at SER and does different handling depending on that bit: machine_check_poll: ... if (!(flags & MCP_UC) && (m.status & (mca_cfg.ser ? MCI_STATUS_S : MCI_STATUS_UC))) continue; so when the guest kernel gets a correctable error (injected..., for example) it sees that bit set. Even though kvm/qemu emulates an AMD CPU. So on AMD with that bit set, it would puzzle the whole error handling/reporting in the guest kernel. Oh, btw, I'm using a kvm guest to inject MCEs. In case you were wondering why is he even doing that. :-) And I'm not sure it makes sense to set that bit for an Intel guest too. For the simple reason that I don't know how much of the Software Error Recovery stuff is actually implemented there. If stuff is missing, you probably don't want to advertize it there too. And by "stuff" I mean all that fun in section "15.6 RECOVERY OF UNCORRECTED RECOVERABLE (UCR) ERRORS" of the SDM. It's a whole another question how/whether to do UCR error handling in the guest or maybe leave it to the host... -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html