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

[Xen-devel][PATCH] A fix for CR8 acceleration on 64bit guest


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Xin, Xiaohui" <xiaohui.xin@xxxxxxxxx>
  • Date: Fri, 1 Dec 2006 14:45:24 +0800
  • Cc: "Li, Susie" <susie.li@xxxxxxxxx>
  • Delivery-date: Thu, 30 Nov 2006 22:46:07 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AccVFEdyfSvjqsbySPGIvsbJmaZlFQ==
  • Thread-topic: [Xen-devel][PATCH] A fix for CR8 acceleration on 64bit guest

This patch is a small fix for CR8 acceleration on 64bit guest.

For current CR8 acceleration, we do not call update_tpr_threshold() at every VMEXIT.

But at some situations, we cannot inject guest interrupts in time. And at some critical time, it will bring up a blue screen to 64bit Windows guest.

 

Try this scenario:

1)       At one VMIT, tpr = TPR_THRESHOLD, but tpr < pending IRQ, and we cannot inject it to guest because guest Cli or IRQ < max(tpr, ISR).

2)       Guest raises the TPR to a high value.

3)       And then guest lowers the TPR to a low value which is higher than the TPR_THRESHOLD but lower than the pending IRQ.

And now this pending IRQ cannot inject to guest in time now even the current TPR is lower than it.

 

Now, we select to call update_tpr_threshold() at very VMEXIT time. It’s safe, and we do not see clear performance downgrade so far.

 

Signed-off-by: Xiaohui Xin xiaohui.xin@xxxxxxxxx

 

 

 

 

Attachment: 1201-2.diff
Description: 1201-2.diff

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.