From mboxrd@z Thu Jan 1 00:00:00 1970 From: Phil Ten Subject: Re: kvm process exit on virtio error Date: Thu, 12 Feb 2009 11:11:53 +0100 (CET) Message-ID: <30870900.01234433513964.JavaMail.root@ns354536.ovh.net> References: <1234382386.14052.244.camel@blaa> Reply-To: Phil Ten Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: Mark McLoughlin Return-path: Received: from ns354536.ovh.net ([91.121.106.214]:35162 "EHLO ns354536.ovh.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755738AbZBLKMK (ORCPT ); Thu, 12 Feb 2009 05:12:10 -0500 In-Reply-To: <1234382386.14052.244.camel@blaa> Sender: kvm-owner@vger.kernel.org List-ID: Hello Mark, I am not sure about what you mean by heavy network traffic. Here are more details: This is a test server. I installed the host and created two VMs with Windows 2003 Server. I am the only one to use this configuration. On both VMs, I added a openssh server (from cygwin). Then, I started uploading files by SFTP using filezilla client. After a few thousands files uploaded succesfully I get the error I reported. I tried many times and got the same symptom each time. My filezilla send two files concurrently at approximatively 2.5 Mbytes/s each. And that is all. No other application installed, no other network connections. I add that I am fairly new to kvm. I havn't tried virtio_blk. So far, I confirm, no problem with rtl8139. Best Regards, Phil Ten ----- Original Message ----- From: "Mark McLoughlin" To: "Phil Ten" Cc: kvm@vger.kernel.org Sent: Wednesday, February 11, 2009 8:59:46 PM GMT +01:00 Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna Subject: Re: kvm process exit on virtio error Hi, On Wed, 2009-02-11 at 12:41 +0100, Phil Ten wrote: > Hello, > > My kvm processes are exiting on what I think are VIRTIO errors: > > Guest moved used index from 24543 to 24606 This is very strange. The code in question is: static int virtqueue_num_heads(VirtQueue *vq, unsigned int idx) { uint16_t num_heads = vring_avail_idx(vq) - idx; /* Check it isn't doing very strange things with descriptor numbers. */ if (num_heads > vq->vring.num) { fprintf(stderr, "Guest moved used index from %u to %u", idx, vring_avail_idx(vq)); exit(1); ... i.e. for virtio_net, vq->vring.num == 256 and 24606 - 24543 == 63, so it doesn't make much sense. Does this happen under heavy network traffic? Have you tried virtio_blk? Thanks, Mark.