From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=49503 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P6kMt-00031Y-Su for qemu-devel@nongnu.org; Fri, 15 Oct 2010 09:30:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P6kMs-0008K1-9W for qemu-devel@nongnu.org; Fri, 15 Oct 2010 09:30:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:1025) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P6kMs-0008Js-1z for qemu-devel@nongnu.org; Fri, 15 Oct 2010 09:30:42 -0400 Date: Fri, 15 Oct 2010 10:30:12 -0300 From: Marcelo Tosatti Subject: Re: [Qemu-devel] Re: [PATCH 11/11] kvm, x86: broadcast mce depending on the cpu version Message-ID: <20101015133012.GA16246@amt.cnet> References: <4CB6C580.1090804@np.css.fujitsu.com> <20101015010649.GB32272@amt.cnet> <4CB7B3C5.7070102@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4CB7B3C5.7070102@jp.fujitsu.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Hidetoshi Seto Cc: KVM list , Dean Nelson , "qemu-devel@nongnu.org" , Avi Kivity , Huang Ying , Jin Dongming 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 > >> Tested-by: Jin Dongming > >> --- > >> 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.