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

Re: [Xen-devel] null domains after xl destroy

On Mon, May 08, 2017 at 11:10:24AM +0200, Juergen Gross wrote:
> On 04/05/17 00:17, Glenn Enright wrote:
> > On 04/05/17 04:58, Steven Haigh wrote:
> >> On 04/05/17 01:53, Juergen Gross wrote:
> >>> On 03/05/17 12:45, Steven Haigh wrote:
> >>>> Just wanted to give this a little nudge now people seem to be back on
> >>>> deck...
> >>>
> >>> Glenn, could you please give the attached patch a try?
> >>>
> >>> It should be applied on top of the other correction, the old debug
> >>> patch should not be applied.
> >>>
> >>> I have added some debug output to make sure we see what is happening.
> >>
> >> This patch is included in kernel-xen-4.9.26-1
> >>
> >> It should be in the repos now.
> >>
> > 
> > Still seeing the same issue. Without the extra debug patch all I see in
> > the logs after destroy is this...
> > 
> > xen-blkback: xen_blkif_disconnect: busy
> > xen-blkback: xen_blkif_free: delayed = 0
> Hmm, to me it seems as if some grant isn't being unmapped.
> Looking at gnttab_unmap_refs_async() I wonder how this is supposed to
> work:
> I don't see how a grant would ever be unmapped in case of
> page_count(item->pages[pc]) > 1 in __gnttab_unmap_refs_async(). All it
> does is deferring the call to the unmap operation again and again. Or
> am I missing something here?

No, I don't think you are missing anything, but I cannot see how this can be
solved in a better way, unmapping a page that's still referenced is certainly
not the best option, or else we risk triggering a page-fault elsewhere.

IMHO, gnttab_unmap_refs_async should have a timeout, and return an error at
some point. Also, I'm wondering whether there's a way to keep track of who has
references on a specific page, but so far I haven't been able to figure out how
to get this information from Linux.

Also, I've noticed that __gnttab_unmap_refs_async uses page_count, shouldn't it
use page_ref_count instead?


Xen-devel mailing list



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