On Fri, Oct 15, 2010 at 10:52:05AM +0900, Hidetoshi Seto wrote:
> (2010/10/15 10:06), Marcelo Tosatti wrote:
> > On Thu, Oct 14, 2010 at 05:55:28PM +0900, Jin Dongming wrote:
> >> There is no reason why SRAO event received by the main thread
> >> is the only one that being broadcasted.
> >>
> >> According to the x86 ASDM vol.3A 15.10.4.1,
> >> MCE signal is broadcast on processor version 06H_EH or later.
> >>
> >> This change is required to handle SRAR in the guest.
> >>
> >> Signed-off-by: Hidetoshi Seto <seto.hideto...@jp.fujitsu.com>
> >> Tested-by: Jin Dongming <jin.dongm...@np.css.fujitsu.com>
> >> ---
> >>  qemu-kvm.c |   63 
> >> +++++++++++++++++++++++++++++------------------------------
> >>  1 files changed, 31 insertions(+), 32 deletions(-)
> > 
> > Why is this necessary? _AO SIGBUS should be sent to all vcpu threads and
> > main thread.
> 
> Humm? If you are right, vcpu threads will receive same SRAO event twice,
> one is that received by itself and another is that received by main thread
> and forwarded by the broadcast.
> 
> My understanding is (Jin, please correct me if something wrong):
>  - _AO SIGBUS is sent to main thread only, and then SRAO event is
>    broadcasted to all vcpu threads.
>  - _AR SIGBUS is sent to a vcpu thread that tried to touch the
>    unmapped poisoned page, and SRAR event is posted to the vcpu.
> 
> One problem here is that SRAR is not broadcasted.
> The guest might observe the event differently, like "some cpus
> don't enter machine check."

Right.

> > Please separate bug fixes from cleanups. Very nice, thanks. 
> 
> Maybe this set is considered as 10 cleanups + 1 fix.
> I think this fix will be complicated one without preceding cleanups.

Why? All you need is to broadcast from vcpu context.

Please do a minimal fix separately so it can be backported, and the
cleanups can be done later once its merged upstream.

Thanks.


Reply via email to