[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-devel] Re: Need help with fixing the Xen waitqueue feature
- To: Andres Lagar-Cavilla <andres@xxxxxxxxxxxxxxxx>
- From: Olaf Hering <olaf@xxxxxxxxx>
- Date: Wed, 9 Nov 2011 23:11:49 +0100
- Cc: keir.xen@xxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx
- Delivery-date: Wed, 09 Nov 2011 14:12:47 -0800
- Dkim-signature: v=1; a=rsa-sha1; c=relaxed/relaxed; t=1320876722; l=839; s=domk; d=aepfle.de; h=In-Reply-To:Content-Type:MIME-Version:References:Subject:Cc:To:From: Date:X-RZG-CLASS-ID:X-RZG-AUTH; bh=qb9sQnRVBeVMJAttPIK8Ig967Hg=; b=Uv5696Hc0gzICuKwmMk9ZSWWG537XznjPcMb0qSkFuPWnNnl0bC9dUHG3muXYoUCfC2 vww1GbGx4uLPF0ol/+kyMG3KfaDpmvdzKymwqSLK7Td89//1bBThKcsvCCl9GnHd2sCke +UFbl5zXigHuP4/suY9YCNj5Gs3jY8tKGcU=
- List-id: Xen developer discussion <xen-devel.lists.xensource.com>
On Wed, Nov 09, Andres Lagar-Cavilla wrote:
> After a bit of thinking, things are far more complicated. I don't think
> this is a "race." If the pager removed a page that later gets scheduled by
> the guest OS for IO, qemu will want to foreign-map that. With the
> hypervisor returning ENOENT, the foreign map will fail, and there goes
> qemu.
The tools are supposed to catch ENOENT and try again.
linux_privcmd_map_foreign_bulk() does that. linux_gnttab_grant_map()
appears to do that as well. What code path uses qemu that leads to a
crash?
> I guess qemu/migrate/libxc could retry until the pager is done and the
> mapping succeeds. It will be delicate. It won't work for pv backends. It
> will flood the mem_event ring.
There will no flood, only one request is sent per gfn in
p2m_mem_paging_populate().
Olaf
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel