qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug 1921082] [NEW] VM crash when process broadcast MCE


From: Yao Aili
Subject: [Bug 1921082] [NEW] VM crash when process broadcast MCE
Date: Wed, 24 Mar 2021 08:35:37 -0000

Public bug reported:

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.

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1921082

Title:
  VM crash when process broadcast MCE

Status in QEMU:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1921082/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]