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/
Home Products Support Community News


Re: [Xen-devel] [PATCH] Clear VMCS if reusing after vcpu reset

To: "Tian, Kevin" <kevin.tian@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Clear VMCS if reusing after vcpu reset
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Mon, 30 Apr 2007 08:12:20 +0100
Delivery-date: Mon, 30 Apr 2007 00:09:15 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <D470B4E54465E3469E2ABBC5AFAC390F013B1DA4@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AceK7hrJaVpsNFsWQeu9LhE5uBSFagACMmDb
Thread-topic: [Xen-devel] [PATCH] Clear VMCS if reusing after vcpu reset
User-agent: Microsoft-Entourage/
On 30/4/07 07:09, "Tian, Kevin" <kevin.tian@xxxxxxxxx> wrote:

> Clear whole page when VMCS is reused due to cpu hotplug.
> construct_vmcs doesn't take care of all fields and some stale
> content may make hardware unhappy.

You almost certainly need to vmx_clear_vmcs() before you zap it, as there's
no reason it might not be active on some CPU when vmx_create_vmcs() is
called (domain_pause() does not deactivate VMCSs).

Furthermore, this need to zap the page a second time is worrying. We only
modify architectural state in the VMCS in a well-defined way. That shouldn't
upset the hardware. Is this actually an indication that there is some
architectural state that we are forgetting to re-initialise? If so then
that's the bug which should be fixed.

 -- Keir

Xen-devel mailing list