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: fix domain cleanup

To: Jan Beulich <jbeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] x86: fix domain cleanup
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Tue, 28 Oct 2008 10:25:25 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 28 Oct 2008 03:26:00 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4906F204.76E4.0078.0@xxxxxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Ack4531yvDCwVKTaEd2ghgAX8io7RQ==
Thread-topic: [Xen-devel] [PATCH] x86: fix domain cleanup
User-agent: Microsoft-Entourage/11.4.0.080122
On 28/10/08 10:05, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:

>> Ah, looks like it's been broken since the preemptible page_type patch went
>> in. Perhaps the tail of free_page_type() should go into __put_page_type(),
>> as it's not needed by the call site in relinquish_memory(): the caller
>> doesn't really hold a type reference to be dropped; and the logic for being
>> preempted doesn't apply since relinquish_memory() requests no preemption.
> 
> It doesn't at present, but it should (in favor of
> DOMAIN_DESTRUCT_AVOID_RECURSION),
> including the put_page_and_type() earlier in that function. But of course,
> it may still turn out that cleaning up after preemption here must be handled
> differently from the __put_page_type() case. I'll give moving that part
> (and removing the put_page() added yesterday) a try.

__put_page_type() is already a complex function actually, so let's define a
__put_final_page_type() containing a call to free_page_type() plus the
current tail of free_page_type(). __put_page_type() can call that;
relinquish memory can call free_page_type() directly.

 -- Keir





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