All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Carew, Alan" <alan.carew-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: "dev-VfR2kkLFssw@public.gmane.org" <dev-VfR2kkLFssw@public.gmane.org>
Subject: Re: [PATCH 0/4] librte_pmd_virtio :Fix: virtio_pci.h non-existent virtio feature bit-flag tested
Date: Mon, 16 Jun 2014 10:19:53 +0000	[thread overview]
Message-ID: <0E29434AEE0C3A4180987AB476A6F630593A6EE5@IRSMSX101.ger.corp.intel.com> (raw)
In-Reply-To: <1401979159-14576-1-git-send-email-alan.carew-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

> -----Original Message-----
> From: Carew, Alan
> Sent: Thursday, June 05, 2014 3:39 PM
> To: dev-VfR2kkLFssw@public.gmane.org
> Cc: Carew, Alan
> Subject: [PATCH 0/4] librte_pmd_virtio :Fix: virtio_pci.h non-existent virtio
> feature bit-flag tested
> 
> This series addresses an issue with librte_pmd_virtio where the offset to the
> virtio device specific header may be incorrect depending on whether MSI-X has
> been enabled or not.
> 
> If MSI-X is configured the device specific header is placed at byte offset 24
> relative to the IO base address.
> If MSI-X is not configured the device specific header is placed at
> byte offset 20.
> 
> The following macro defined in virtio_pci.h is used to test the
> presence of the MSI-X header and determine the correct offset:
> #define VIRTIO_PCI_CONFIG(hw) (((hw)->guest_features &
> VIRTIO_PCI_FLAG_MSIX) ? 24 : 20)
> 
> However, VIRTIO_PCI_FLAG_MSIX is not a guest_feature nor is it part of the
> Virtio Specification and resolves to the VIRTIO_NET_F_MAC feature as both
> are #defined as 0x20.
> 
> VIRTIO_PCI_FLAG_MSIX or similar flag should instead be set by the kernel
> driver allocating resources and passed to user space for testing.
> i.e.
> #define VIRTIO_PCI_CONFIG(hw) (((hw)->intr_mode &
> IGBUIO_MSIX_INTR_MODE) ? 24 : 20)
> 
> To enable this testing of interrupt mode, this series allows for the kernel
> driver(igb_uio) to place the configured interrupt mode into a sysfs entry.
> sysfs is then parsed by eal_pci to determine the configured mode, which
> allows all user space devices to correctly determine the interrupt mode,
> including virtio_ethdev.
> 
> This series should be applied prior to Anatoly Burakov's
> [VFIO] Add VFIO support to DPDK series
> 
> Alan Carew (4):
>   igb_uio: Add interrupt_mode sysfs entry for igb_uio devices
>   eal_pci: Add interrupt mode to rte_pci_device and parsing to eal_pci
>   FreeBSD: Adds the equivalent interrupt mode setting and parsing
>   virtio: Fixes the VIRTIO_PCI_CONFIG macro to use the correct offset
>     to the Virtio header
> 
>  lib/librte_eal/bsdapp/eal/eal_pci.c                |   44 ++++++++++
>  lib/librte_eal/bsdapp/nic_uio/nic_uio.c            |   14 +++
>  lib/librte_eal/common/Makefile                     |    1 +
>  lib/librte_eal/common/include/rte_pci.h            |    2 +
>  .../common/include/rte_pci_dev_feature_defs.h      |   85
> ++++++++++++++++++++
>  .../common/include/rte_pci_dev_features.h          |   70 ++++++++++++++++
>  lib/librte_eal/linuxapp/eal/eal_pci.c              |   78 ++++++++++++++++++
>  lib/librte_eal/linuxapp/igb_uio/igb_uio.c          |   48 +++++++++---
>  lib/librte_pmd_virtio/virtio_ethdev.c              |    1 +
>  lib/librte_pmd_virtio/virtio_pci.h                 |    4 +-
>  10 files changed, 336 insertions(+), 11 deletions(-)
>  create mode 100755
> lib/librte_eal/common/include/rte_pci_dev_feature_defs.h
>  create mode 100755 lib/librte_eal/common/include/rte_pci_dev_features.h

Self NAK, alternative approach and patch set to follow.

      parent reply	other threads:[~2014-06-16 10:19 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-05 14:39 [PATCH 0/4] librte_pmd_virtio :Fix: virtio_pci.h non-existent virtio feature bit-flag tested Alan Carew
     [not found] ` <1401979159-14576-1-git-send-email-alan.carew-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-06-05 14:39   ` [PATCH 1/4] [PATCH 1/4] igb_uio: Add interrupt_mode sysfs entry for igb_uio devices Alan Carew
     [not found]     ` <1401979159-14576-2-git-send-email-alan.carew-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-06-05 17:20       ` Stephen Hemminger
2014-06-05 14:39   ` [PATCH 2/4] [PATCH 2/4] eal_pci: Add interrupt mode to rte_pci_device and parsing to eal_pci Alan Carew
2014-06-05 14:39   ` [PATCH 3/4] [PATCH 3/4] FreeBSD: Adds the equivalent interrupt mode setting and parsing Alan Carew
2014-06-05 14:39   ` [PATCH 4/4] [PATCH 4/4] virtio: Fixes the VIRTIO_PCI_CONFIG macro to use the correct offset to the Virtio header Alan Carew
2014-06-05 15:22   ` [PATCH 0/4] librte_pmd_virtio :Fix: virtio_pci.h non-existent virtio feature bit-flag tested Stephen Hemminger
2014-06-05 17:06   ` Stephen Hemminger
2014-06-16 10:19   ` Carew, Alan [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=0E29434AEE0C3A4180987AB476A6F630593A6EE5@IRSMSX101.ger.corp.intel.com \
    --to=alan.carew-ral2jqcrhueavxtiumwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.