[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC] [PATCH] x86/mm: use wait queues for mem_paging
At 07:55 -0800 on 23 Feb (1329983736), Andres Lagar-Cavilla wrote: > > I have hit another stumbling block though - get_two_gfns() can't be > > safely ask get_gfn to populate or unshare if that might involve a waitq, > > since by definition one of its two calls is made with a lock held. I > > can't see a nice way of having it retry (not one that's guaranteed to > > make progress) without pulling the fixup-and-retry up into that > > function. I might do that in the next revision. > > One way to do this is use query_unlocked on the second. If we sense > danger, drop the lock on the first, then do the right thing for the > second, then drop the lock for the second, then retry at the top. Sadly, this isn't guaranteed to make progress in the face of an aggressive pager or sharer. It might be OK with yet another waitq invocation, though... > hvm_task_switch also gets two gfns, although in a manner that prevents > easily using get_two_gfns (hvm_map_entry on gdt offsets). It's unlikely > this will ever be a problem (it's somewhat reasonable to expect both gdt > entries to fall in the same gfn) but it's something worth keeping in mind. Thanks, I'll add it to the list. Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |