WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] [PATCH] X86 MCE: Add SRAR handler

To: Jan Beulich <JBeulich@xxxxxxxx>, "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH] X86 MCE: Add SRAR handler
From: "Liu, Jinsong" <jinsong.liu@xxxxxxxxx>
Date: Fri, 30 Sep 2011 17:42:47 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: "keir.xen@xxxxxxxxx" <keir.xen@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 30 Sep 2011 02:43:27 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4E859D7F0200007800058B39@xxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <BC00F5384FCFC9499AF06F92E8B78A9E263B557B77@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4E84ADF70200007800058882@xxxxxxxxxxxxxxxxxxxx> <789F9655DD1B8F43B48D77C5D306597312D2366A9B@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4E858AF30200007800058A64@xxxxxxxxxxxxxxxxxxxx> <BC00F5384FCFC9499AF06F92E8B78A9E263B557F02@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4E8592A60200007800058AD4@xxxxxxxxxxxxxxxxxxxx> <BC00F5384FCFC9499AF06F92E8B78A9E263B557F40@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4E859D7F0200007800058B39@xxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acx/TTFOrUqSXoHJQ762h6HAOg22dwABrWvw
Thread-topic: [Xen-devel] [PATCH] X86 MCE: Add SRAR handler
Jan Beulich wrote:
>>>> On 30.09.11 at 10:21, "Liu, Jinsong" <jinsong.liu@xxxxxxxxx> wrote:
>> Jan Beulich wrote:
>>>>>> On 30.09.11 at 09:44, "Liu, Jinsong" <jinsong.liu@xxxxxxxxx>
>>>>>> wrote: 
>>>> Jan Beulich wrote:
>>>>>>>> On 30.09.11 at 04:51, "Jiang, Yunhong"
>>>>>>>> <yunhong.jiang@xxxxxxxxx> wrote:
>>>>>>> This made me look at the current source, and there I see in
>>>>>>> mce_urgent_action() 
>>>>>>> 
>>>>>>>     if ( !(gstatus & MCG_STATUS_RIPV) && !guest_mode(regs))
>>>>>>> return -1; 
>>>>>>> 
>>>>>>> which I think should say ... _EIPV and use || instead. Thoughts?
>>>>>> 
>>>>>> I think this code means, if the error happens in hypervisor mode
>>>>>> (i.e. !guest_mode()), and RIPV indicate the RIP in stack can't be
>>>>>> restarted, we have to panic.
>>>>> 
>>>>> Then the guest_mode() check still lacks an extra check of EIPV,
>>>>> like 
>>>>> 
>>>>>      if ( !(gstatus & MCG_STATUS_RIPV) &&
>>>>>           (!(gstatus & MCG_STATUS_EIPV) || !guest_mode(regs)))
>>>>> return -1; 
>>>>> 
>>>> 
>>>> That would be overkilled.
>>>> Considering instruction fetch error occur at guest context,
>>>> hypervisor deliver to guest to handle the error is perfer, not
>>>> panic all system.
>>> 
>>> Even if it was hypervisor code that got prefetched while still
>>> executing guest code (which ought to be possible at least
>>> across a syscall/sysenter instruction)?
>>> 
>> 
>> Executing guest code will not satisfy the check
>> if ( !(gstatus & MCG_STATUS_RIPV) && !guest_mode(regs))      return -1;
>> so it would not panic system.
> 
> Exactly. But it should when the prefetch was to hypervisor code.
> 

Wouldn't processor refresh instruction prefetch queue under such case?

Thanks,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel