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

[Xen-devel] Problem with PV disk and iSCSI

I've run into a problem on 3.1.2 with an HVM guest using PV disks.  In
dom0, the physical disk is accessed using iSCSI.  The symptom is that
applications in dom0 which are monitoring the iSCSI network interface
(e.g. tcpdump) die with EFAULT errors.

When the block I/O completes, it looks like blkback is doing a
GNTTABOP_unmap_grant_ref on a guest page, even though the dom0 kernel
has done get_page() on it and still holds references.  

The page had been passed through iSCSI into the network stack, so it
ends up referenced by one or more skb's.  Because there was an AF_PACKET
socket open, a clone of the skb ends up queued for an indeterminate
amount on that socket queue.  When the application finally gets around
to reading the data, the page is no longer mapped, and the read fails
trying to copy the data out of the kernel.

Has anyone else seen anything similar?  I mentioned tcpdump, but the
problem also shows up with dhcpcd, which needs to process packets at the
ethernet layer.  

I'm thinking blkback will have to make a dom0 copy of the page before
doing the unmap if there are still extra references?

Gary Grebus
Virtual Iron Software, Inc.

Xen-devel mailing list



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