[dpdk-dev] [PATCH v2 0/3] vfio: fix broken msix interrupt initialization

Nithin Dabilpuram ndabilpuram at marvell.com
Wed Jul 17 14:43:51 CEST 2019


A final patch for below mentioned RFC patch discussions.

[RFC PATCH v3 1/3] vfio: revert change that does intr eventfd setup at probe
http://mails.dpdk.org/archives/dev/2019-July/138358.html
 [RFC PATCH v3 2/3] eal: add mask and unmask interrupt APIs
http://mails.dpdk.org/archives/dev/2019-July/138357.html
[RFC PATCH v3 3/3] drivers/net: use unmask API in interrupt handlers
http://mails.dpdk.org/archives/dev/2019-July/138359.html

Please also refer to below discussions
http://mails.dpdk.org/archives/dev/2019-July/138184.html
http://mails.dpdk.org/archives/dev/2019-July/138113.html

This patch set basically reverts vfio patch that moves eventfd setup
to probe time (1/3) because msix initialization is broken.
It adds new ack interrupt api for purposes of simple and light 
weight ack method and also to avoid race conditions
that was the root cause of this discussion.

Nithin Dabilpuram (3):
  vfio: revert change that does intr eventfd setup at probe
  eal: add ack interrupt API
  drivers/net: use ack API in interrupt handlers

 drivers/bus/pci/linux/pci_vfio.c               |  78 ++++---
 drivers/net/atlantic/Makefile                  |   1 +
 drivers/net/atlantic/atl_ethdev.c              |   2 +-
 drivers/net/atlantic/meson.build               |   2 +
 drivers/net/avp/avp_ethdev.c                   |   2 +-
 drivers/net/avp/meson.build                    |   1 +
 drivers/net/axgbe/Makefile                     |   1 +
 drivers/net/axgbe/axgbe_ethdev.c               |   4 +-
 drivers/net/axgbe/meson.build                  |   1 +
 drivers/net/bnx2x/bnx2x_ethdev.c               |   2 +-
 drivers/net/bnx2x/meson.build                  |   1 +
 drivers/net/e1000/em_ethdev.c                  |   4 +-
 drivers/net/e1000/igb_ethdev.c                 |   6 +-
 drivers/net/fm10k/fm10k_ethdev.c               |   6 +-
 drivers/net/fm10k/meson.build                  |   1 +
 drivers/net/i40e/i40e_ethdev.c                 |   2 +-
 drivers/net/iavf/iavf_ethdev.c                 |   2 +-
 drivers/net/ice/Makefile                       |   1 +
 drivers/net/ice/ice_ethdev.c                   |   4 +-
 drivers/net/ice/meson.build                    |   1 +
 drivers/net/ixgbe/ixgbe_ethdev.c               |   6 +-
 drivers/net/nfp/nfp_net.c                      |   2 +-
 drivers/net/qede/Makefile                      |   1 +
 drivers/net/qede/meson.build                   |   2 +
 drivers/net/qede/qede_ethdev.c                 |   8 +-
 drivers/net/sfc/sfc_intr.c                     |   4 +-
 drivers/net/virtio/virtio_ethdev.c             |  16 +-
 drivers/net/vmxnet3/vmxnet3_ethdev.c           |   2 +-
 lib/librte_eal/common/include/rte_interrupts.h |  22 ++
 lib/librte_eal/freebsd/eal/eal_interrupts.c    |   9 +
 lib/librte_eal/linux/eal/eal_interrupts.c      | 282 ++++++++++++++++++++-----
 lib/librte_eal/rte_eal_version.map             |   1 +
 32 files changed, 360 insertions(+), 117 deletions(-)

-- 
2.8.4



More information about the dev mailing list