[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: Need help with fixing the Xen waitqueue feature
Hi there, > On Tue, Nov 08, Andres Lagar-Cavilla wrote: > >> Tbh, for paging to be effective, we need to be prepared to yield on >> every >> p2m lookup. > > Yes, if a gfn is missing the vcpu should go to sleep rather than > returning -ENOENT to the caller. Only the query part of gfn_to_mfn > should return the p2m paging types. > >> Let's compare paging to PoD. They're essentially the same thing: pages >> disappear, and get allocated on the fly when you need them. PoD is a >> highly optimized in-hypervisor optimization that does not need a >> user-space helper -- but the pager could do PoD easily and remove all >> that >> p2m-pod.c code from the hypervisor. > > Perhaps PoD and paging could be merged, I havent had time to study the > PoD code. Well, PoD can be implemented with a pager that simply shortcuts the step that actually populates the page with contents. A zeroed heap page is good enough. It's fairly simple for a pager to know for which pages it should return zero. PoD also does emergency sweeps under memory pressure to identify zeroes, that can be easily implemented by a user-space utility. The hypervisor code keeps a list of 2M superpages -- that feature would be lost. But I doubt this would fly anyways: PoD works for non-ept modes, which I guess don't want to lose that functionality. > >> PoD only introduces extraneous side-effects when there is a complete >> absence of memory to allocate pages. The same cannot be said of paging, >> to >> put it mildly. It returns EINVAL all over the place. Right now, qemu can >> be crashed in a blink by paging out the right gfn. > > I have seen qemu crashes when using emulated storage, but havent > debugged them yet. I suspect they were caused by a race between nominate > and evict. > > Olaf > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |