DPDK patches and discussions
 help / color / mirror / Atom feed
From: Prashant Upadhyaya <prashant.upadhyaya@aricent.com>
To: jigsaw <jigsaw@gmail.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] 82599 SR-IOV with passthrough
Date: Thu, 17 Oct 2013 17:22:17 +0530	[thread overview]
Message-ID: <C7CE7EEF248E2B48BBA63D0ABEEE700C43EA66432B@GUREXMB01.ASIAN.AD.ARICENT.COM> (raw)
In-Reply-To: <CAHVfvh6Xum951RtVJfcqPBFZLKg8RK2yGFqh0DRazkMgHXEZTg@mail.gmail.com>

Hi Qinglai,

Even with 1 queue, were you able to run the DPDK app in the guest OS ?
If you were able to, which version of DPDK did you use, please let me know.

I am trying to run the DPDK app in guest OS using QEMU/KVM with an SRIOV virtual function of an 82599 NIC.
I can see the vf pci address in the lspci output on the guest OS, but when I try to run the DPDK app in the guest OS, the EAL complains with the following --

EAL: pci_uio_map_resource(): cannot store uio mmap details

I am using DPDK1.4.

Regards
-Prashant


-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of jigsaw
Sent: Wednesday, October 16, 2013 5:49 PM
To: dev@dpdk.org
Subject: [dpdk-dev] 82599 SR-IOV with passthrough

Hi,

I am doing experiments with SR-IOV + passthrough on 82599.
My expectation is to have VT on and DCB off, under which configuration, the total 128 TX queues will be split into 32 pools, each has 4 queues.

With latest driver ixgbe-3.18.7, PF can be set with 16 pools, each has
4 queues with these params:

insmod ./ixgbe.ko MQ=1 max_vfs=8 RSS=8 VMDQ=16

I tried with VMDQ=32 with a panic. Also, it seems that if RSS is set to 4, the PF driver will set RSS to 2 somehow.
Since I'm fine with 16 pools + 4 queues,  I'm not going to investigate (at this moment) why PF doesn't work as expected.
Next step is then to try DPDK in guest OS, which get one VF by passthrough.

Not surprisingly, DPDK says that number of TX queue is 1. This is because the value is set arbitrarily in ixgbe_init_ops_vf of ixgbe_vf.c, and it never gets updated.

Actually the mbox API has support for requesting Tx/Rx queue numbers from VF. See implementation of routine ixgbevf_get_queues and ixgbevf_negotiate_api_version.
However, it is not straightforward to use these 2 routines to fetch Tx/Rx queue number, coz the PF driver is not ready to be used without modification.
See ixgbe_get_vf_queues of ixgbe_sriov.c in ixgbe-3.18.7.  The PF will always answer with 1 for Tx/Rx queue number requests, regardless of current config.

Therefore, to add support for multiple queues per VF, we have to at least fix the PF driver, then add support in DPDK's VF driver.

But the question is, is this enough? Before doing any experiments I wonder whether anybody has come across same problem as I do, and if there's any implementation ongoing.

thx &
rgds,
-Qinglai




===============================================================================
Please refer to http://www.aricent.com/legal/email_disclaimer.html
for important disclosures regarding this electronic communication.
===============================================================================

      parent reply	other threads:[~2013-10-17 11:52 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-16 12:18 jigsaw
2013-10-16 12:58 ` Thomas Monjalon
2013-10-16 13:20   ` jigsaw
2013-10-17 11:55     ` Prashant Upadhyaya
2013-10-17 12:43       ` jigsaw
2013-10-17 12:54         ` jigsaw
2013-10-17 13:02         ` Prashant Upadhyaya
2013-10-17 13:11           ` jigsaw
2013-10-17 13:47         ` Thomas Monjalon
2013-10-17 13:52           ` jigsaw
2013-10-17 11:52 ` Prashant Upadhyaya [this message]

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=C7CE7EEF248E2B48BBA63D0ABEEE700C43EA66432B@GUREXMB01.ASIAN.AD.ARICENT.COM \
    --to=prashant.upadhyaya@aricent.com \
    --cc=dev@dpdk.org \
    --cc=jigsaw@gmail.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).