From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [Qemu-devel] qemu-kvm-0.11 regression, crashes on older guests with virtio network Date: Thu, 29 Oct 2009 09:39:11 -0500 Message-ID: <4AE9A90F.1060108@codemonkey.ws> References: <1256807803.10825.39.camel@blaa> <1256815818-sup-7805@xpc65.scottt> <1256818566.10825.58.camel@blaa> <4AE9A299.5060003@codemonkey.ws> <1256826351.10825.69.camel@blaa> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Scott Tsai , Dustin Kirkland , qemu-devel , kvm To: Mark McLoughlin Return-path: Received: from mail-qy0-f174.google.com ([209.85.221.174]:64160 "EHLO mail-qy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753859AbZJ2OjK (ORCPT ); Thu, 29 Oct 2009 10:39:10 -0400 Received: by qyk4 with SMTP id 4so1143438qyk.33 for ; Thu, 29 Oct 2009 07:39:14 -0700 (PDT) In-Reply-To: <1256826351.10825.69.camel@blaa> Sender: kvm-owner@vger.kernel.org List-ID: Mark McLoughlin wrote: > On Thu, 2009-10-29 at 09:11 -0500, Anthony Liguori wrote: > >> Mark McLoughlin wrote: >> >>>> tap_set_offload(csum: 1, tso4: 1, tso6: 1, ecn: 1) >>>> being called and get an mtu of 1500 on virbr0 using his birdge.sh script. >>>> >>>> virtio_net_receive2 was trying to transfer a 1534 byte packet (1524 'size' + 10 'virtio_net_hdr') >>>> and the guest only had 1524 bytes of space in its input descriptors. >>>> >>>> >>> Okay, that sounds like a bug in Dustin's version of the guest virtio-net >>> driver - if it is only supplying 1524 byte buffers, it should not be >>> saying it supports the VIRTIO_NET_F_GUEST_TSO4 feature >>> >>> >> See: >> >> commit 8eca6b1bc770982595db2f7207c65051572436cb >> Author: aliguori >> Date: Sun Apr 5 17:40:08 2009 +0000 >> >> Fix oops on 2.6.25 guest (Rusty Russell) >> >> I believe this is behind the following: >> https://bugs.edge.launchpad.net/ubuntu/jaunty/+source/linux/+bug/331128 >> >> virtio_pci in 2.6.25 didn't do feature negotiation correctly: it >> acked every >> bit. Fortunately, we can detect this. >> >> Signed-off-by: Rusty Russell >> Signed-off-by: Anthony Liguori >> >> It looks like Rusty's fix wasn't enough. If I change virtio-net to only >> advertise F_MAC, we don't run into this problem. >> > > If it's not acking VBAD_FEATURE, then it doesn't sound like the same > issue > It was acking VBAD_FEATURE when I tested it. But if you look at the patch, it whitelists the following features: features |= (1 << VIRTIO_NET_F_MAC); features |= (1 << VIRTIO_NET_F_GUEST_CSUM); features |= (1 << VIRTIO_NET_F_GUEST_TSO4); features |= (1 << VIRTIO_NET_F_GUEST_TSO6); features |= (1 << VIRTIO_NET_F_GUEST_ECN); Which is why it's ack'ing TSO4. Removing TSO4 didn't seem to fix it for me. Regards, Anthony Liguori From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N3W9t-0007Wy-Jw for qemu-devel@nongnu.org; Thu, 29 Oct 2009 10:39:25 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N3W9p-0007Vh-32 for qemu-devel@nongnu.org; Thu, 29 Oct 2009 10:39:25 -0400 Received: from [199.232.76.173] (port=44012 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N3W9o-0007Ve-OK for qemu-devel@nongnu.org; Thu, 29 Oct 2009 10:39:20 -0400 Received: from qw-out-1920.google.com ([74.125.92.145]:61977) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N3W9n-0006wR-5c for qemu-devel@nongnu.org; Thu, 29 Oct 2009 10:39:20 -0400 Received: by qw-out-1920.google.com with SMTP id 5so449596qwc.4 for ; Thu, 29 Oct 2009 07:39:14 -0700 (PDT) Message-ID: <4AE9A90F.1060108@codemonkey.ws> Date: Thu, 29 Oct 2009 09:39:11 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] qemu-kvm-0.11 regression, crashes on older guests with virtio network References: <1256807803.10825.39.camel@blaa> <1256815818-sup-7805@xpc65.scottt> <1256818566.10825.58.camel@blaa> <4AE9A299.5060003@codemonkey.ws> <1256826351.10825.69.camel@blaa> In-Reply-To: <1256826351.10825.69.camel@blaa> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Mark McLoughlin Cc: Scott Tsai , qemu-devel , kvm , Dustin Kirkland Mark McLoughlin wrote: > On Thu, 2009-10-29 at 09:11 -0500, Anthony Liguori wrote: > >> Mark McLoughlin wrote: >> >>>> tap_set_offload(csum: 1, tso4: 1, tso6: 1, ecn: 1) >>>> being called and get an mtu of 1500 on virbr0 using his birdge.sh script. >>>> >>>> virtio_net_receive2 was trying to transfer a 1534 byte packet (1524 'size' + 10 'virtio_net_hdr') >>>> and the guest only had 1524 bytes of space in its input descriptors. >>>> >>>> >>> Okay, that sounds like a bug in Dustin's version of the guest virtio-net >>> driver - if it is only supplying 1524 byte buffers, it should not be >>> saying it supports the VIRTIO_NET_F_GUEST_TSO4 feature >>> >>> >> See: >> >> commit 8eca6b1bc770982595db2f7207c65051572436cb >> Author: aliguori >> Date: Sun Apr 5 17:40:08 2009 +0000 >> >> Fix oops on 2.6.25 guest (Rusty Russell) >> >> I believe this is behind the following: >> https://bugs.edge.launchpad.net/ubuntu/jaunty/+source/linux/+bug/331128 >> >> virtio_pci in 2.6.25 didn't do feature negotiation correctly: it >> acked every >> bit. Fortunately, we can detect this. >> >> Signed-off-by: Rusty Russell >> Signed-off-by: Anthony Liguori >> >> It looks like Rusty's fix wasn't enough. If I change virtio-net to only >> advertise F_MAC, we don't run into this problem. >> > > If it's not acking VBAD_FEATURE, then it doesn't sound like the same > issue > It was acking VBAD_FEATURE when I tested it. But if you look at the patch, it whitelists the following features: features |= (1 << VIRTIO_NET_F_MAC); features |= (1 << VIRTIO_NET_F_GUEST_CSUM); features |= (1 << VIRTIO_NET_F_GUEST_TSO4); features |= (1 << VIRTIO_NET_F_GUEST_TSO6); features |= (1 << VIRTIO_NET_F_GUEST_ECN); Which is why it's ack'ing TSO4. Removing TSO4 didn't seem to fix it for me. Regards, Anthony Liguori