Hi,Olaf,
When we analyze and test xenpaging,we found there are some problems between mapping and xenpaging.
1) When mapping firstly, then do xenpaging,and the code paths have resolved the problems.It's OK.
2) The problems exists if we do address mapping firstly then go to xenpaging,and our confusions are as followings:
a) If the domU's memory is directly mapped to dom0,such as the hypercall from pv driver,then it will build a related page-table in dom0,which will not change p2m-type.
and then do the xenpaging to page out the domU's memory pages whose gfn address have been already mapped to dom0;So it will cause some problems when dom0
accesses these pages.Because these pages are paged-out,and dom0 cannot tell the p2mt before access the pages.
b)The another situation is that if xen has mapped the domU's page, and get the mfn according to pfn_to_mfn.But then the page's p2mt is changed by others, so when xen
accesses the page ,it will cause problems such as BSOD or reboot.Because the operations of getting mfn and accessing the page are not atomic.and the situation exists
in many code paths .
According to the above-mentioned points,do you have any suggestions about what to do to avoid these situations.We have thought these two problems,but currently have no
good method to resolve.
I am looking forward to hearing from you. Thank you very much! :)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|