[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/mm: Improve ring management for memory events. Do not lose guest events
On Wed, Jan 11, Andres Lagar-Cavilla wrote: > @@ -898,7 +902,7 @@ void p2m_mem_paging_drop_page(struct dom > * already sent to the pager. In this case the caller has to try again until > the > * gfn is fully paged in again. > */ > -void p2m_mem_paging_populate(struct domain *d, unsigned long gfn) > +int p2m_mem_paging_populate(struct domain *d, unsigned long gfn) > { > struct vcpu *v = current; > mem_event_request_t req; What is the reason to return an error here? None of the callers need to check it because they already know their condition (which is p2m_is_paging()). And your patch doesnt seem to update them. Foreigners try again, requests from the target domain do currently also try again until my change to use wait queues in gfn_to_mfn* is finished. And even then the call p2m_mem_paging_populate() will most likely remain a one-shot/must-succeed thing if the request is from the target domain. The only condition to care about in p2m_mem_paging_populate() is -ENOSYS from mem_event_claim_slot(), which your patch already handles by crashing the guest. Since the guest is in an kind-of undefined state anyway if the pager disappears while some gfns are still in paging state, this is one of the possible actions. Olaf _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |