From: "Michael S. Tsirkin" <mst@redhat.com>
To: Shirley Ma <xma@us.ibm.com>
Cc: David Stevens <dlstevens@us.ibm.com>,
kvm@vger.kernel.org, sri@linux.vnet.ibm.com
Subject: Re: vhost-net patches
Date: Tue, 20 Oct 2009 19:18:32 +0200 [thread overview]
Message-ID: <20091020171832.GE13378@redhat.com> (raw)
In-Reply-To: <OF491C5580.D14A9827-ON87257655.005E2B42-88257655.005EBFDD@us.ibm.com>
On Tue, Oct 20, 2009 at 10:14:55AM -0700, Shirley Ma wrote:
>
> Hello Michael,
>
> >what is vnet->vector?
> >And what do you mean by not defined?
>
> In funcation:
>
> static int vhost_virtqueue_init()
> {
> ......
> r = vdev->binding->irqfd(vdev->binding_opaque, q->vector,
> vq->call);
> ......
> }.....
>
> q->vector is 65535,
Thanks for debugging this.
I think this means that guest does not use MSI-X.
You can verify this by booting guest without vhost,
and performing the following command:
cat /proc/interrupts
Please note that you currently need recent kernel in guest,
so that it uses MSI-X. I plan on implementing regular IRQ,
but not yet, and it will be slower anyway.
> in static int virtio_pci_irqfd()
> {
> ......
> if (vector >= proxy->pci_dev.msix_entries_nr) {
> fprintf(stderr, " pci irq fd returned vector %d, msix_entries_nr %d
> \n",
> vector, proxy->pci_dev.msix_entries_nr); <------- I added
> one output line here.
> return -EINVAL;
> ....
> }...
> The output is:
>
> pci irq fd returned vector 65535, msix_entries_nr 3, EINVAL is
> returned.
>
> thanks
> Shirley Ma
> IBM Linux Technology Center
> 15300 SW Koll Parkway
> Beaverton, OR 97006-6063
> Phone(Fax): (503) 578-7638
>
>
>
>
>
> "Michael S.
> Tsirkin"
> <mst@redhat.com> To
> Shirley Ma/Beaverton/IBM@IBMUS
> 10/20/2009 04:34 cc
> AM sri@linux.vnet.ibm.com, David
> Stevens/Beaverton/IBM@IBMUS,
> kvm@vger.kernel.org
> Subject
> Re: vhost-net patches
>
>
>
>
>
>
>
>
>
>
> On Mon, Oct 19, 2009 at 04:08:24PM -0700, Shirley Ma wrote:
> > Hello Michael,
> >
> > >They all failed with the following error
> > > vhost_net_init returned -7
> > >This is an error message from hw/virtio-net.c:virtio_net_driver_ok()
> when
> > >vhost_net_start() fails. It looks like dev->binding->irqfd() is failing
> in
> > >vhost_virtqueue_init(). Haven't yet debugged further. I have
> CONFIG_EVENTFD
> > >enabled in the host kernel.
> >
> > >From the debug output, looks like the vnet->vector is not defined,
>
> what is vnet->vector?
> And what do you mean by not defined?
>
> > and the
> > default msix_entries_nr is 3, so it returned EINVAL from
> virtio_pci_irqfd.
> > Looks we need to either disable QEMU_PCI_CAP_MSIX or define vector in
> QEMU
> > configuration?
>
> You shouldn't have to do anything.
>
> > I am not familiar with MSIX stuffs.
> >
> > Thanks
> > Shirley
> >
> >
> > Inactive hide details for sri---10/19/2009 03:56:57 PM---On Sun,
> 2009-10-18 at
> > 19:32 +0200, Michael S. Tsirkin wrote:sri---10/19/2009 03:56:57 PM---On
> Sun,
> > 2009-10-18 at 19:32 +0200, Michael S. Tsirkin wrote:
> >
> > sri@linux.vnet.ibm.com [cid] *
> > To "Michael S. Tsirkin"
> <mst@redhat.com>,
> > 10/19/2009 03:56 PM kvm@vger.kernel.org
> > [cid] *
> > cc David
> Stevens/Beaverton/IBM@IBMUS, Shirley Ma/
> > Beaverton/IBM@IBMUS
> > [cid] *
> > Subject Re: vhost-net patches
> > * *
> >
> > On Sun, 2009-10-18 at 19:32 +0200, Michael S. Tsirkin wrote:
> > > On Sun, Oct 18, 2009 at 12:53:56PM +0200, Michael S. Tsirkin wrote:
> > > > On Fri, Oct 16, 2009 at 12:29:29PM -0700, Sridhar Samudrala wrote:
> > > > > Hi Michael,
> > > > >
> > > > > We are trying out your vhost-net patches from your git trees on
> > kernel.org.
> > > > > I am using mst/vhost.git as host kernel and mst/qemu-kvm.git for
> qemu.
> > > > >
> > > > > I am using the following qemu script to start the guest using
> userspace
> > tap backend.
> > > > >
> > > > >
> home/sridhar/git/mst/qemu-kvm/x86_64-softmmu/qemu-system-x86_64 /home/
> > sridhar/kvm_images/fedora10-1-vm -m 512 -drive
> file=/home/sridhar/kvm_images/
> > fedora10-1-vm,if=virtio,index=0,boot=on -net nic,macaddr=
> > 54:52:00:35:e3:73,model=virtio -net
> tap,ifname=vnet0,script=no,downscript=no
> > > > >
> > > > > Now that i got the default backend to work, i wanted to try vhost
> in
> > kernel. But
> > > > > could not figure out the right -net option to pass to qemu.
> > > > >
> > > > > Can you let me know the right syntax to start a guest using vhost.
> > > > >
> > > > > Thanks
> > > > > Sridhar
> > > >
> > > > Here's an example with raw socket:
> > > >
> > > > /root/kvm-test/bin/qemu-system-x86_64 -m 1G -kernel \
> > > > /boot/vmlinuz-$release -append \
> > > > 'root=UUID=d5d2d201-d086-42ad-bb1d-32fbe40eda71 ro quiet nosplash \
> > > > console=tty0 console=ttyS0,9600n8' -initrd /boot/guest-initrd.img \
> > > > $HOME/disk.raw.copy -net raw,ifname=eth3 -net nic,model=virtio,vhost
> \
> > > > -balloon none -redir tcp:8023::22
> > > >
> > > > As you see, I changed the command line.
> > > > You now simply add ",vhost" after model, and it will locate
> > > > host network interface specified earlier and attach to it.
> > > > This should have been clear from running qemu with -help
> > > > flag. Could you please suggest how can that text
> > > > be clarified?
> >
> > I updated to your latest git trees and the default user-space tap backend
> using
> > the
> > following -net options worked fine.
> > -net tap,ifname=vnet0,script=no,downscript=no -net nic,model=virtio
> >
> > But i could not get vhost to work with either raw or tap backends.
> > I tried the following combinations.
> > 1) -net raw,ifname=eth0 -net nic,model=virtio,vhost
> > 2) -net raw,ifname=vnet0, -net nic,model=virtio,vhost
> > 3) -net tap,ifname=vnet0,script=no,downscript=no -net
> nic,model=virtio,vhost
>
> Yes, should work.
>
> >
> > They all failed with the following error
> > vhost_net_init returned -7
> > This is an error message from hw/virtio-net.c:virtio_net_driver_ok() when
> > vhost_net_start() fails. It looks like dev->binding->irqfd() is failing
> in
> > vhost_virtqueue_init().
>
> what parameters are passed in?
>
> > Haven't yet debugged further.
>
> this calls into virtio_pci_irqfd.
>
> > I have CONFIG_EVENTFD
> > enabled in the host kernel.
>
> Note you need to also enable eventfd support under kvm menu.
>
> > Are all the above -net options supposed to work?
> >
> > In your descriptions, you say that checksum/tso offload is not supported.
> Isn't
> > it
> > possible to send/receive large packets without checksum using AF_PACKET
> sockets
> > if
> > the attached interface supports these offloads.
> > Do you see the same offload issue even when using tap backend via vhost?
> >
> > Thanks
> > Sridhar
> >
> >
> >
> >
> >
> >
> >
> >
>
next prev parent reply other threads:[~2009-10-20 17:20 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1255721369.10322.38.camel@w-sridhar.beaverton.ibm.com>
[not found] ` <20091018105356.GA8374@redhat.com>
[not found] ` <20091018173202.GA32441@redhat.com>
2009-10-19 22:56 ` vhost-net patches Sridhar Samudrala
2009-10-20 10:24 ` Michael S. Tsirkin
[not found] ` <OFE487449E.75D4E72D-ON87257654.007E61BF-88257654.007F1CCC@us.ibm.com>
2009-10-20 11:34 ` Michael S. Tsirkin
[not found] ` <OF491C5580.D14A9827-ON87257655.005E2B42-88257655.005EBFDD@us.ibm.com>
2009-10-20 17:18 ` Michael S. Tsirkin [this message]
[not found] ` <OF519C21FE.3A50884E-ON87257655.005FB73B-88257655.005FEA00@us.ibm.com>
2009-10-20 17:33 ` Michael S. Tsirkin
[not found] ` <OFAA36418A.2A0716E0-ON87257656.006D1231-88257656.006DD91D@us.ibm.com>
2009-10-21 20:19 ` Michael S. Tsirkin
[not found] ` <OF2487602C.0F4CA77B-ON87257656.00834AC0-88257656.0083C68B@us.ibm.com>
2009-10-22 9:24 ` Michael S. Tsirkin
2009-10-22 10:56 ` Michael S. Tsirkin
2009-10-22 12:34 ` Michael S. Tsirkin
2009-10-22 13:13 ` Michael S. Tsirkin
2009-10-22 17:23 ` Shirley Ma
2009-10-22 17:32 ` Shirley Ma
2009-10-22 17:36 ` Michael S. Tsirkin
2009-10-22 17:44 ` Shirley Ma
2009-10-22 17:47 ` Michael S. Tsirkin
2009-10-22 17:56 ` Shirley Ma
2009-10-22 18:13 ` Shirley Ma
2009-10-22 17:43 ` Michael S. Tsirkin
2009-10-22 18:00 ` Sridhar Samudrala
2009-10-23 7:12 ` Michael S. Tsirkin
2009-10-23 11:04 ` Michael S. Tsirkin
2009-10-23 15:02 ` Shirley Ma
2009-10-23 15:12 ` Shirley Ma
2009-10-23 16:23 ` Shirley Ma
2009-10-25 10:52 ` Michael S. Tsirkin
2009-10-25 17:05 ` Michael S. Tsirkin
2009-10-26 9:27 ` Michael S. Tsirkin
2009-10-26 21:35 ` Shirley Ma
2009-10-26 20:05 ` Michael S. Tsirkin
2009-10-26 21:34 ` Shirley Ma
2009-10-27 6:43 ` Michael S. Tsirkin
2009-10-27 14:46 ` Shirley Ma
2009-10-27 15:27 ` Michael S. Tsirkin
2009-10-27 16:36 ` Shirley Ma
2009-10-27 20:58 ` Michael S. Tsirkin
2009-10-28 15:55 ` Shirley Ma
2009-10-28 15:39 ` Michael S. Tsirkin
2009-10-28 16:45 ` Shirley Ma
2009-10-28 16:53 ` Michael S. Tsirkin
2009-10-28 18:12 ` Shirley Ma
2009-10-29 7:11 ` Shirley Ma
2009-11-02 19:46 ` Michael S. Tsirkin
2009-11-03 1:06 ` Xin, Xiaohui
2009-11-03 15:52 ` Shirley Ma
2009-10-28 20:55 ` Shirley Ma
2009-10-28 16:46 ` kvm memory leak (Was Re: vhost-net patches) Michael S. Tsirkin
2009-10-29 12:21 ` Avi Kivity
2009-10-29 12:50 ` Avi Kivity
2009-10-23 19:24 ` vhost-net patches Shirley Ma
2009-10-25 9:11 ` Michael S. Tsirkin
2009-10-26 21:37 ` Shirley Ma
2009-10-27 6:38 ` Michael S. Tsirkin
2009-10-27 14:48 ` Shirley Ma
2009-10-28 17:46 ` Arnd Bergmann
2009-10-28 18:13 ` Shirley Ma
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091020171832.GE13378@redhat.com \
--to=mst@redhat.com \
--cc=dlstevens@us.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=sri@linux.vnet.ibm.com \
--cc=xma@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).