[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Rebooting domu fails in nfs share exported from another domu on the same dom0

On 2014/7/21 6:02, Wei Liu wrote:
On Fri, Jul 18, 2014 at 05:43:23PM -0400, annie li wrote:
When doing grantcopy for netback, xen requires the source is dom0. However,
it is vm2 in this case.
Would it be possible in the hypervisor to have an extra check where you
look to see if the source (dom0 in this case) has this page mapped
>from another guest? As in, this is a bit of A->B->C transition
and we want to do A->C (B is dom0). If you figure out that the PFN
belongs to A and you are doing a copy of A's page to C's page from B (dom0)
page (and B PFN is actually mapped to be A's page), then why
not just copy from A to C directly?

Hmm. Linux kernel could actually also have this information (it does
already I think) and we could search for that if the grant copy fails
and if so alter the source and retry the grant copy. Instead of dom0
being the source it is the C guest (vm2)? Thought I don't know if
the hypercall allows us to make a grant_copy on behalf of two
other guests.
Oh... I remember netback did have some grant_copy code on behalf of two
guests on same server, and it was removed later on. So I think grantcopy
A->C works for this case with the precondition that we can recognize this
page is mapped from another guest.

I have not followed this thread closely.

The tracking facility was removed because it was dead at that time. See
43e9d19 ("xen-netback: remove page tracking facility").

However I think the latest netback with mapping scheme does have
something similar. I can see there's a "foreign_queue" check in
xenvif_gop_frag_copy. Is that not enough?

Correct, this mapping scheme does similar thing, but it is for communication between two vifs on the same server, the original page is mapped by netback tx path. Here, this issue is caused when the page mapped by blkback.

What I am thinking is: checking whether the page is mapped, if yes, then does grant copy from source to dest directly instead of Dom0->dest since a condition check fails in mm.c if the original page is from another vm for situation Dom0->dist .


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.