From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH 2/2] KVM: VMX: Initialize vm86 TSS only once. Date: Sun, 27 Feb 2011 18:27:10 +0200 Message-ID: <20110227162710.GC22252@redhat.com> References: <1298282879-23075-1-git-send-email-gleb@redhat.com> <1298282879-23075-2-git-send-email-gleb@redhat.com> <4D6A710B.7070705@redhat.com> <20110227155219.GA22252@redhat.com> <4D6A74BE.6020303@redhat.com> <4D6A7600.8030606@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: mtosatti@redhat.com, kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from mx1.redhat.com ([209.132.183.28]:24124 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752076Ab1B0Q1M (ORCPT ); Sun, 27 Feb 2011 11:27:12 -0500 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p1RGRCP3004742 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sun, 27 Feb 2011 11:27:12 -0500 Content-Disposition: inline In-Reply-To: <4D6A7600.8030606@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Sun, Feb 27, 2011 at 06:04:16PM +0200, Avi Kivity wrote: > On 02/27/2011 05:58 PM, Avi Kivity wrote: > > > >>The problem with using top of slot > >>zero is that this memory is available for guest use and we do not even > >>put it into e820 map as far as I see. Also there are patches floating > >>around that re-arrange memslots or even put them in a tree. They will > >>break old guests too. > > > >Well, slot 0 still exists even if it is moved somewhere else. > > > >Something we can do is put the tss slot just below the highest > >slot that is still below 4G, and hope there is no mmio there. > >Once the user issues KVM_SET_TSS_ADDR, use that. We'll have to > >keep juggling that slot as the user creates more slots, icky. > > > > Or we can keep the old behaviour. If KVM_SET_TSS_ADDR hasn't been > called by the time of the first entry into real mode (the first > KVM_CREATE_VCPU?), use the top of the first slot. > Do we require that KVM_SET_TSS_ADDR is called before first KVM_CREATE_VCPU? We may still break some theoretical userspaces this way. > We can avoid the SMP problem by initializing the memory in a single > pass, writing each byte exactly once with its final value. This way > concurrent initialization doesn't corrupt an in-use TSS. > Sounds hackish, but may work. Doing so will make entering pmode much more slow. -- Gleb.