[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 13:06 >>>
>And who will ultimately destroy that reference if we e.g., xm destroy a
>guest? Are you hoping the circular-reference destruction logic will deal
>with this case also? Seems to me there would be a difference between
>preempted get_page_type() and preempted put_page_type() here -- in the
>latter case there is still a holder of the outstanding general reference
>count (the holder who tried to do the put_page_type() which got preempted)
>whereas in the former case the general reference count is not really held by
>anyone and so relinquish_memory() would indeed have to dispose of it?

If we set the simple rule of "Whoever sets PGT_partial must make sure
he leaves an extra ref pending, and whoever clears PGT_partial must drop
that reference", we should be fine in my opinion.

Also, a preempted get_page_and_type_from_pagenr() drops the general
reference, and a preempted put_page_and_type() retains it, so to me
the page state seems to be consistent between the two.


Xen-devel mailing list



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