[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 12:15 >>>
>Actually I'm not sure how PGT_partial reference counting works either. Do
>such pages hold a general reference count? It appears not, so I don't see
>why for example we couldn't have the put_page() in
>get_page_and_type_from_pagenr() cause free_domheap_pages() and then BUG_ON()
>the fact that the type count is non-zero (because it is partially

Correct, that's the second bug I referred to. I think that we have to retain
a general reference for a partially validated page.

>Shouldn't free_domheap_pages() do cleanup for partially validated pages?

I don't think that would be the right place. This should be naturally done
in the normal code paths, by ensuring (which I think we do) to always
check for PGT_partial along with PGT_validated.

>Is it possible or necessary to tell the difference between a page that is
>partially alloc_page_type()d versus one which is partially
>free_page_type()d? (e.g., are the reference counts left in different states
>in each case, and does that matter?)

I think it's unnecessary to distinguish these, as long as the page's state
doesn't differ when getting its PGT_partial flag set either way. And I
believe that state is consistent at present (apart from the missing page
reference, which however is consistently missing in both cases).


Xen-devel mailing list



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