[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: [PATCH 5/7] mm: New XENMEM space, XENMAPSPACE_gmfn_range
On Fri, 2011-11-11 at 08:09 +0000, Jan Beulich wrote: > >>> On 10.11.11 at 18:37, Jean Guyader <jean.guyader@xxxxxxxxxxxxx> wrote: > > On 10/11 12:47, Jan Beulich wrote: > >> >>> On 10.11.11 at 12:35, Jean Guyader <jean.guyader@xxxxxxxxxxxxx> wrote: > >> >@@ -4716,6 +4748,17 @@ long arch_memory_op(int op, XEN_GUEST_HANDLE(void) > > arg) > >> > } > >> > > >> > rc = xenmem_add_to_physmap(d, &xatp); > >> >+ if ( rc == -EAGAIN ) > >> > >> if ( rc ) > >> > >> >+ { > >> >+ if ( copy_to_guest(arg, &xatp, 1) ) > >> >+ { > >> >+ rcu_unlock_domain(d); > >> >+ return -EFAULT; > >> >+ } > >> > >> } > >> if ( rc == -EAGAIN ) > >> > >> (with some room for further simplification). Without that (or the minimal > >> alternative of copying back just .size or yet some other mechanism), as > >> pointed out before, the caller won't have a way to know how far into > >> the batch things succeeded. > >> > > > > In xenmem_add_to_physmap I modify xatp in place so when I exit this > > function xatp will contain the updated value (new start value in > > .gpfn and .idx, how far do I need to go in .size). > > > > The idea here was to call the copy_to_guest only when we got preempted. > > If I copy xatp back to the guest I should get the updated value > > in xatp from the copy_from_guest when I'll be called by the continuation. > > I understand the continuation aspect. But you appear to have not read > my comments completely: I'm asking how your caller, in the event of > failure, would know how much of the batch was processed successfully. For this sort of flush operation can the caller assume that failure means nothing was flushed, since a flush can always be repeated? Ian. > > Jan > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |