Keir Fraser wrote:
>> I have tested this to some extent with both VMX (Windows XP) and
>> non-VMX
>> domains. So far so good.
>
>It's good to understand the problem some more, and I think I like your
>general approach. However, although your current patch drops the domain
>refcnts, it leaves the tainted-refcnt pages allocated. Worse, they are
>left allocated and with a dangling domain pointer. Probably we should
>hit those page refcnts on the head (i.e., to zero). One fly in the
>ointment is if some refcnts are non-zero because other domains have
>mappings of them (e.g., device model in domain0)...
Thanks for your comments. The current code *does* drop the page
reference counts for those tainted-refcnt pages. Even after
getting decremented, the ref counts for these pages
are still not 0 (most are 1, some are 2, 3, or even 4).
I also tried to scrub those tainted-refcnt pages (i.e., attaching
them to the page_scrub list which, when the time comes after
the domain is killed, we could zero-fill them, and then free
them from the heap). However, when I did this, the system
(domain0) crashed. This led me to believe that some of these
tainted-refcnt pages may have external mappings and cannot
be freed immediately. I assume that these pages will
be freed eventually, but need to investigate more.
Please let me know if you have any ideas or suggestions.
Thanks.
Regards,
Khoa Huynh
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|