[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86: fix domain cleanup
>>> Keir Fraser <keir.fraser@xxxxxxxxxxxxx> 28.10.08 11:25 >>> >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. Okay, seems like it finally starts to work - it turned out that indeed we need to distinguish whether a page was partially allocated or partially freed: Partial allocation does not grab a general page reference, while partial free doesn't drop it. My test box now survived 8 instances (out of 100 VM destroys) where the VM got killed with a partially allocated page (and also without leaking memory), but I surely want to run it for some more time, especially also after removing all the debugging output I had to add to figure what's going on (which makes the timing all different, but luckily apparently increased the likelihood of running into the problem). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |