qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* Issue Report: When VM has multiple vCPU and receive SIGBUS for SRAR, qemu will inject broadcast MCE to VM, VM may exceed 1S MCE sync time, and Panic.
@ 2021-03-24  3:53 Aili Yao
  0 siblings, 0 replies; only message in thread
From: Aili Yao @ 2021-03-24  3:53 UTC (permalink / raw)
  To: qemu-devel, jin.dongming, mtosatti
  Cc: sunhao2, yangfeng1, yaoaili, denglinwen

Hi:
When i do memory SRAR test for VM, I meet the following issue:

My VM has 16 vCPU, I will inject one UE error to memory which is accessed by VM,
Then host MCE is raised and SIGBUS is send to VM, and qemu take control.
Qemu will check the broadcast attribute by following  cpu_x86_support_mca_broadcast();  

Then Qemu may inject MCE to all vCPU, as vCPU is just one process for HOST, we can't guarantee
all the vCPUs will enter MCE hander in 1S sync time, and the VM may panic.

This issue will be easily fixed by expand monarch_timeout configuration, but the exact monarch_timeout can't be
easily got, as it will depand on the num of vCPUs and current system schedule status.

I am wondering why VM need broadcast attribute for MCE, When qeme process MCE event form host, it will always be
signaled for one vCPU? If so, why does qemu need boradcast the MCE event to all vCPUs?

Can weu just deliver LMCE to one specifc vCPU and make this behavior default?

If anything wrong, Please point out.

Thanks!
Aili Yao

/* Broadcast MCA signal for processor version 06H_EH and above */
int cpu_x86_support_mca_broadcast(CPUX86State *env)
{
    int family = 0;
    int model = 0;

    cpu_x86_version(env, &family, &model);
    if ((family == 6 && model >= 14) || family > 6) {
        return 1;
    }

    return 0;
}


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-24 12:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-24  3:53 Issue Report: When VM has multiple vCPU and receive SIGBUS for SRAR, qemu will inject broadcast MCE to VM, VM may exceed 1S MCE sync time, and Panic Aili Yao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).