This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] pcnet bringing down network...

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] pcnet bringing down network...
From: Ben Guthro <bguthro@xxxxxxxxxxxxxxx>
Date: Fri, 16 Mar 2007 08:08:58 -0400
Delivery-date: Fri, 16 Mar 2007 05:08:07 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
In testing, I am seeing a peculiar behavior when using the pcnet vif

Occasionally when transferring files over the network (I have been using
wget) I see my HVM guest's network go down. ifdown/ifup seems to
temporarily fix the problem. Dom-0's network remains stable, but the
Guest's grinds to a halt. TCP streams seem to fail entirely, and ping's
seem to take many seconds instead of milliseconds.

I can get this to happen with the first wget by transferring a large
file. (64MB) This almost always fails the network, but not always in the
same place. I use Knoppix to test this, and send the wget output
to /dev/null

The following will fail the network:
wget --tries=2 --timeout=2 http://<local machine>/64Mfile.dat
-O /dev/null

This behavior does not occur under other device models - Xen's default,
rtl8139 does not exhibit this problem, only PCNet fails.

Additionally, if I allow time between transfers results vary

for example:

This will fail:
while [ 1 ];do
wget --tries=2 --timeout=2 http://<local machine>/5Mfile.dat
-O /dev/null

where this will succeed: (sleep added)
while [ 1 ];do
wget --tries=2 --timeout=2 http://<local machine>/5Mfile.dat
-O /dev/null
sleep 3

Has anyone else seen anything like this?

The last pcnet.c change looks to be changeset 10957, done during the
update to QEMU 0.8.2 - however, I tried code both before, and after this
change, and the problem does not go away - it just seems to become less
frequent as we go backwards in changesets.

I should note that although this is a Knoppix Guest on x86_64 dom0
setup, using HVM, this behavior has been seen on other guests as well
(RHEL4, FC6)

I have been looking into where this might happen for answers:
tools/ioemu/hw/pcnet.c - specifically in the pcnet_receive
code. So far, the debug output has led to few clues.

Is this a reasonable place to be looking, or is there somewhere else
that may help glean some insight into what is going on here?

Ben Guthro

Ben Guthro                                         Virtual Iron Software
bguthro@xxxxxxxxxxxxxxx                            Tower 1, Floor 2
978-849-1203                                       900 Chelmsford Street
                                                   Lowell, MA 01851

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] pcnet bringing down network..., Ben Guthro <=