DPDK patches and discussions
 help / color / mirror / Atom feed
From: Santosh Shukla <sshukla@mvista.com>
To: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v4 08/14] virtio: pci: extend virtio pci rw api for vfio interface
Date: Mon, 18 Jan 2016 12:15:40 +0530	[thread overview]
Message-ID: <CAAyOgsbRhChnAs6uWWMXpbjx0Va9UVoRr=xPPyUeZ4VgtKveTQ@mail.gmail.com> (raw)
In-Reply-To: <20160118061125.GW19531@yliu-dev.sh.intel.com>

On Mon, Jan 18, 2016 at 11:41 AM, Yuanhan Liu
<yuanhan.liu@linux.intel.com> wrote:
> On Fri, Jan 15, 2016 at 07:12:04PM +0530, Santosh Shukla wrote:
>> On Fri, Jan 15, 2016 at 6:13 PM, Santosh Shukla <sshukla@mvista.com> wrote:
>> > On Fri, Jan 15, 2016 at 11:57 AM, Yuanhan Liu
>> > <yuanhan.liu@linux.intel.com> wrote:
>> >> On Thu, Jan 14, 2016 at 06:58:31PM +0530, Santosh Shukla wrote:
>> >>> So far virtio handle rw access for uio / ioport interface, This patch to extend
>> >>> the support for vfio interface. For that introducing private struct
>> >>> virtio_vfio_dev{
>> >>>       - is_vfio
>> >>>       - pci_dev
>> >>>       };
>> >>> Signed-off-by: Santosh Shukla <sshukla@mvista.com>
>> >> ...
>> >>> +/* For vfio only */
>> >>> +struct virtio_vfio_dev {
>> >>> +     bool            is_vfio;        /* True: vfio i/f,
>> >>> +                                      * False: not a vfio i/f
>> >>
>> >> Well, this is weird; you are adding a flag to tell whether it's a
>> >> vfio device __inside__ a vfio struct.
>> >>
>> >> Back to the topic, this flag is not necessary to me: you can
>> >> check the pci_dev->kdrv flag.
>> >>
>> >
>> > yes, I'll replace is_vfio with pci_dev->kdrv.
>> >
>> >>> +                                      */
>> >>> +     struct rte_pci_device *pci_dev; /* vfio dev */
>> >>
>> >> Note that I have already added this field into virtio_hw struct
>> >> at my latest virtio 1.0 pmd patchset.
>> >>
>> >> While I told you before that you should not develop patches based
>> >> on my patcheset, I guess you can do that now. Since it should be
>> >> in good shape and close to be merged.
>> >
>> > Okay, Before rebasing my v5 patch on your 1.0 virtio patch, I like to
>> > understand which qemu version support virtio 1.0 spec?
>>
>> Ignore, I figured out in other thread,
>> qemu version >2.4, such as 2.4.1 or 2.5.0.
>
> It will not matter. You can continue using the old legacy virtio, which
> is the default case: my patchset keeps the backward compatibility.
>
> What's worty noting is that virtio 1.0 uses memory mmaped bar space for
> configuration, instead of ioport reading/writing. Therefore, I'd suggest
> you to keep testing with legacy virtio, to make sure the VFIO stuff works.
> And off course, virtio 1.0 testing is also welcome, to make sure it works
> on ARM as well.
>

I am testing for virtio 1.0 and 0.95 for arm including your patch,
soon we;ll post the patch series that is rebased on / dependent on
below patchset:
- virtio 1.0
- vfio-noiommu
- KDRV check by huawei

IMO, we should start merging the dependent patches as because I'll
have to rebase, then do regression across the platform at least for
x86/arm64 and it's quite a work now.

Beside that I have few question specific to vfio in virtio pmd driver;
- vfio don't need resource_init functionality as it uses struct
rte_pci_dev but it need parsing so to make sure
    1. user has setted no_iommu mode
    2. virtio pci device attached to vfio-no-iommu driver or not.

So for 1) I am thinking to add RTE_KDRV_VFIO_NOIOMMU mode and a helper
function like pci_vfio_is_iommu(), such that  pc_xxx_scan() function
updates dev->kdrv with RTE_KDRV_VFIO_NOIOMMU at driver probe time.

case 2) would check for _noiommu mode and then would verify that
driver is attached or not?

above two case applicable to both virtio spec 1.0 and 0.95. I have
done changes for those two case for v5 patch series,l any comment
welcome before I push patch for review.

Thanks.

>         --yliu

  reply	other threads:[~2016-01-18  6:45 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-14 13:28 [dpdk-dev] [PATCH v4 00/14] Add virtio support for arm/arm64 Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 01/14] virtio: Introduce config RTE_VIRTIO_INC_VECTOR Santosh Shukla
2016-01-15  6:51   ` Yuanhan Liu
2016-01-16  6:18     ` Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 02/14] config: i686: set RTE_VIRTIO_INC_VECTOR=n Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 03/14] linuxapp: eal: arm: Always return 0 for rte_eal_iopl_init() Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 04/14] linuxapp/vfio: ignore mapping for ioport region Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 05/14] virtio_pci.h: build fix for sys/io.h for non-x86 arch Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 06/14] eal: pci: vfio: add rd/wr func for pci bar space Santosh Shukla
2016-01-15  5:48   ` Yuanhan Liu
2016-01-16  8:06     ` Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 07/14] virtio: vfio: add api support to rd/wr ioport bar Santosh Shukla
2016-01-15  6:03   ` Yuanhan Liu
2016-01-16  8:53     ` Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 08/14] virtio: pci: extend virtio pci rw api for vfio interface Santosh Shukla
2016-01-15  6:27   ` Yuanhan Liu
2016-01-15 12:43     ` Santosh Shukla
2016-01-15 13:42       ` Santosh Shukla
2016-01-18  6:11         ` Yuanhan Liu
2016-01-18  6:45           ` Santosh Shukla [this message]
2016-01-18  7:17             ` Yuanhan Liu
2016-01-18 13:09               ` Santosh Shukla
2016-01-18  6:59   ` Jason Wang
2016-01-18  7:39     ` Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 09/14] virtio: ethdev: check " Santosh Shukla
2016-01-15  6:35   ` Yuanhan Liu
2016-01-15 12:37     ` Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 10/14] virtio: pci: add dummy func definition for in/outb for non-x86 arch Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 11/14] config: armv7/v8: Enable RTE_LIBRTE_VIRTIO_PMD Santosh Shukla
2016-01-15  6:37   ` Yuanhan Liu
2016-01-15 12:45     ` Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 12/14] eal: pci: export pci_[un]map_device Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 13/14] virtio: enable vfio in pmd driver Santosh Shukla
2016-01-14 13:28 ` [dpdk-dev] [PATCH v4 14/14] vfio: Support for no-IOMMU mode Santosh Shukla
2016-01-29  7:27 ` [dpdk-dev] [PATCH v4 00/14] Add virtio support for arm/arm64 Xie, Huawei
2016-01-29  9:19   ` Santosh Shukla

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='CAAyOgsbRhChnAs6uWWMXpbjx0Va9UVoRr=xPPyUeZ4VgtKveTQ@mail.gmail.com' \
    --to=sshukla@mvista.com \
    --cc=dev@dpdk.org \
    --cc=yuanhan.liu@linux.intel.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).