From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=41238 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P81Va-0006xB-9z for qemu-devel@nongnu.org; Mon, 18 Oct 2010 22:00:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P81VY-0007kS-FV for qemu-devel@nongnu.org; Mon, 18 Oct 2010 22:00:58 -0400 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:50704) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P81VX-0007jB-R6 for qemu-devel@nongnu.org; Mon, 18 Oct 2010 22:00:56 -0400 Received: from m5.gw.fujitsu.co.jp ([10.0.50.75]) by fgwmail5.fujitsu.co.jp (Fujitsu Gateway) with ESMTP id o9J20X6d030603 for (envelope-from seto.hidetoshi@jp.fujitsu.com); Tue, 19 Oct 2010 11:00:34 +0900 Received: from smail (m5 [127.0.0.1]) by outgoing.m5.gw.fujitsu.co.jp (Postfix) with ESMTP id 9467E45DE4F for ; Tue, 19 Oct 2010 11:00:33 +0900 (JST) Received: from s5.gw.fujitsu.co.jp (s5.gw.fujitsu.co.jp [10.0.50.95]) by m5.gw.fujitsu.co.jp (Postfix) with ESMTP id 6A42E45DE4E for ; Tue, 19 Oct 2010 11:00:33 +0900 (JST) Received: from s5.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s5.gw.fujitsu.co.jp (Postfix) with ESMTP id 5335DE38002 for ; Tue, 19 Oct 2010 11:00:33 +0900 (JST) Received: from m108.s.css.fujitsu.com (m108.s.css.fujitsu.com [10.249.87.108]) by s5.gw.fujitsu.co.jp (Postfix) with ESMTP id 11408E18001 for ; Tue, 19 Oct 2010 11:00:33 +0900 (JST) Message-ID: <4CBCFB71.3070103@jp.fujitsu.com> Date: Tue, 19 Oct 2010 10:59:13 +0900 From: Hidetoshi Seto MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [PATCH 11/11] kvm, x86: broadcast mce depending on the cpu version References: <4CB6C580.1090804@np.css.fujitsu.com> <20101015010649.GB32272@amt.cnet> <4CB7B3C5.7070102@jp.fujitsu.com> <20101015133012.GA16246@amt.cnet> In-Reply-To: <20101015133012.GA16246@amt.cnet> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Marcelo Tosatti Cc: KVM list , Dean Nelson , "qemu-devel@nongnu.org" , Avi Kivity , Huang Ying , Jin Dongming (2010/10/15 22:30), Marcelo Tosatti wrote: > 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. No, it is not correct. What I really need is reliable QEMU and maintainable source codes with open community. Anyway, since I found it could be simpler than what I expected, I rebased 2 "functional change" pieces in this set to today's uq/master. But these are not tested on the tree yet since I could not build the uq/master due to many warnings on it (even without my fixes). > Please do a minimal fix separately so it can be backported, and the > cleanups can be done later once its merged upstream. When it will be merged? Thanks, H.Seto