DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: Raslan Darawsheh <rasland@nvidia.com>
Cc: Harman Kalra <hkalra@marvell.com>, "dev@dpdk.org" <dev@dpdk.org>,
	 "dmitry.kozliuk@gmail.com" <dmitry.kozliuk@gmail.com>,
	"mdr@ashroe.eu" <mdr@ashroe.eu>,
	 NBU-Contact-Thomas Monjalon <thomas@monjalon.net>
Subject: Re: [dpdk-dev] [PATCH v5 0/6] make rte_intr_handle internal
Date: Mon, 25 Oct 2021 15:09:47 +0200
Message-ID: <CAJFAV8ymkOrCkXVthromjPL03qvUbM_PkTBV+-=CUaXz4rpSWQ@mail.gmail.com> (raw)
In-Reply-To: <DM4PR12MB531257E8D058D42F0F59CA3BCF839@DM4PR12MB5312.namprd12.prod.outlook.com>

On Mon, Oct 25, 2021 at 3:04 PM Raslan Darawsheh <rasland@nvidia.com> wrote:
>
> Hi,
>
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Harman Kalra
> > Sent: Friday, October 22, 2021 11:49 PM
> > To: dev@dpdk.org
> > Cc: david.marchand@redhat.com; dmitry.kozliuk@gmail.com;
> > mdr@ashroe.eu; NBU-Contact-Thomas Monjalon <thomas@monjalon.net>;
> > Harman Kalra <hkalra@marvell.com>
> > Subject: [dpdk-dev] [PATCH v5 0/6] make rte_intr_handle internal
> >
> > Moving struct rte_intr_handle as an internal structure to
> > avoid any ABI breakages in future. Since this structure defines
> > some static arrays and changing respective macros breaks the ABI.
> > Eg:
> > Currently RTE_MAX_RXTX_INTR_VEC_ID imposes a limit of maximum 512
> > MSI-X interrupts that can be defined for a PCI device, while PCI
> > specification allows maximum 2048 MSI-X interrupts that can be used.
> > If some PCI device requires more than 512 vectors, either change the
> > RTE_MAX_RXTX_INTR_VEC_ID limit or dynamically allocate based on
> > PCI device MSI-X size on probe time. Either way its an ABI breakage.
> >
> > Change already included in 21.11 ABI improvement spreadsheet (item 42):
> > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Furld
> > efense.proofpoint.com%2Fv2%2Furl%3Fu%3Dhttps-
> > 3A__docs.google.com_s&amp;data=04%7C01%7Crasland%40nvidia.com%7C
> > 567d8ee2e3c842a9e59808d9959d822e%7C43083d15727340c1b7db39efd9ccc1
> > 7a%7C0%7C0%7C637705326003996997%7CUnknown%7CTWFpbGZsb3d8eyJ
> > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> > 7C1000&amp;sdata=7UgxpkEtH%2Fnjk7xo9qELjqWi58XLzzCH2pimeDWLzvc%
> > 3D&amp;reserved=0
> > preadsheets_d_1betlC000ua5SsSiJIcC54mCCCJnW6voH5Dqv9UxeyfE_edit-
> > 23gid-
> > 3D0&d=DwICaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=5ESHPj7V-
> > 7JdkxT_Z_SU6RrS37ys4U
> > XudBQ_rrS5LRo&m=7dl3OmXU7QHMmWYB6V1hYJtq1cUkjfhXUwze2Si_48c
> > &s=lh6DEGhR
> > Bg1shODpAy3RQk-H-0uQx5icRfUBf9dtCp4&e=
> >
> > This series makes struct rte_intr_handle totally opaque to the outside
> > world by wrapping it inside a .c file and providing get set wrapper APIs
> > to read or manipulate its fields.. Any changes to be made to any of the
> > fields should be done via these get set APIs.
> > Introduced a new eal_common_interrupts.c where all these APIs are
> > defined
> > and also hides struct rte_intr_handle definition.
> >
> > Details on each patch of the series:
> > Patch 1: eal/interrupts: implement get set APIs
> > This patch provides prototypes and implementation of all the new
> > get set APIs. Alloc APIs are implemented to allocate memory for
> > interrupt handle instance. Currently most of the drivers defines
> > interrupt handle instance as static but now it cant be static as
> > size of rte_intr_handle is unknown to all the drivers. Drivers are
> > expected to allocate interrupt instances during initialization
> > and free these instances during cleanup phase.
> > This patch also rearranges the headers related to interrupt
> > framework. Epoll related definitions prototypes are moved into a
> > new header i.e. rte_epoll.h and APIs defined in rte_eal_interrupts.h
> > which were driver specific are moved to rte_interrupts.h (as anyways
> > it was accessible and used outside DPDK library. Later in the series
> > rte_eal_interrupts.h is removed.
> >
> > Patch 2: eal/interrupts: avoid direct access to interrupt handle
> > Modifying the interrupt framework for linux and freebsd to use these
> > get set alloc APIs as per requirement and avoid accessing the fields
> > directly.
> >
> > Patch 3: test/interrupt: apply get set interrupt handle APIs
> > Updating interrupt test suite to use interrupt handle APIs.
> >
> > Patch 4: drivers: remove direct access to interrupt handle fields
> > Modifying all the drivers and libraries which are currently directly
> > accessing the interrupt handle fields. Drivers are expected to
> > allocated the interrupt instance, use get set APIs with the allocated
> > interrupt handle and free it on cleanup.
> >
> > Patch 5: eal/interrupts: make interrupt handle structure opaque
> > In this patch rte_eal_interrupt.h is removed, struct rte_intr_handle
> > definition is moved to c file to make it completely opaque. As part of
> > interrupt handle allocation, array like efds and elist(which are currently
> > static) are dynamically allocated with default size
> > (RTE_MAX_RXTX_INTR_VEC_ID). Later these arrays can be reallocated as per
> > device requirement using new API rte_intr_handle_event_list_update().
> > Eg, on PCI device probing MSIX size can be queried and these arrays can
> > be reallocated accordingly.
> >
> > Patch 6: eal/alarm: introduce alarm fini routine
> > Introducing alarm fini routine, as the memory allocated for alarm interrupt
> > instance can be freed in alarm fini.
> >
> > Testing performed:
> > 1. Validated the series by running interrupts and alarm test suite.
> > 2. Validate l3fwd power functionality with octeontx2 and i40e intel cards,
> >    where interrupts are expected on packet arrival.
> >
> > v1:
> > * Fixed freebsd compilation failure
> > * Fixed seg fault in case of memif
> >
> > v2:
> > * Merged the prototype and implementation patch to 1.
> > * Restricting allocation of single interrupt instance.
> > * Removed base APIs, as they were exposing internally
> > allocated memory information.
> > * Fixed some memory leak issues.
> > * Marked some library specific APIs as internal.
> >
> > v3:
> > * Removed flag from instance alloc API, rather auto detect
> > if memory should be allocated using glibc malloc APIs or
> > rte_malloc*
> > * Added APIs for get/set windows handle.
> > * Defined macros for repeated checks.
> >
> > v4:
> > * Rectified some typo in the APIs documentation.
> > * Better names for some internal variables.
> >
> > v5:
> > * Reverted back to passing flag to instance alloc API, as
> > with auto detect some multiprocess issues existing in the
> > library were causing tests failure.
> > * Rebased to top of tree.
> >
> > Harman Kalra (6):
> >   eal/interrupts: implement get set APIs
> >   eal/interrupts: avoid direct access to interrupt handle
> >   test/interrupt: apply get set interrupt handle APIs
> >   drivers: remove direct access to interrupt handle
> >   eal/interrupts: make interrupt handle structure opaque
> >   eal/alarm: introduce alarm fini routine
> >
> >  MAINTAINERS                                   |   1 +
> >  app/test/test_interrupts.c                    | 163 +++--
> >  drivers/baseband/acc100/rte_acc100_pmd.c      |  18 +-
> >  .../fpga_5gnr_fec/rte_fpga_5gnr_fec.c         |  21 +-
> >  drivers/baseband/fpga_lte_fec/fpga_lte_fec.c  |  21 +-
> >  drivers/bus/auxiliary/auxiliary_common.c      |   2 +
> >  drivers/bus/auxiliary/linux/auxiliary.c       |  10 +
> >  drivers/bus/auxiliary/rte_bus_auxiliary.h     |   2 +-
> >  drivers/bus/dpaa/dpaa_bus.c                   |  28 +-
> >  drivers/bus/dpaa/rte_dpaa_bus.h               |   2 +-
> >  drivers/bus/fslmc/fslmc_bus.c                 |  16 +-
> >  drivers/bus/fslmc/fslmc_vfio.c                |  32 +-
> >  drivers/bus/fslmc/portal/dpaa2_hw_dpio.c      |  20 +-
> >  drivers/bus/fslmc/portal/dpaa2_hw_pvt.h       |   2 +-
> >  drivers/bus/fslmc/rte_fslmc.h                 |   2 +-
> >  drivers/bus/ifpga/ifpga_bus.c                 |  15 +-
> >  drivers/bus/ifpga/rte_bus_ifpga.h             |   2 +-
> >  drivers/bus/pci/bsd/pci.c                     |  21 +-
> >  drivers/bus/pci/linux/pci.c                   |   4 +-
> >  drivers/bus/pci/linux/pci_uio.c               |  73 +-
> >  drivers/bus/pci/linux/pci_vfio.c              | 115 ++-
> >  drivers/bus/pci/pci_common.c                  |  29 +-
> >  drivers/bus/pci/pci_common_uio.c              |  21 +-
> >  drivers/bus/pci/rte_bus_pci.h                 |   4 +-
> >  drivers/bus/vmbus/linux/vmbus_bus.c           |   6 +
> >  drivers/bus/vmbus/linux/vmbus_uio.c           |  37 +-
> >  drivers/bus/vmbus/rte_bus_vmbus.h             |   2 +-
> >  drivers/bus/vmbus/vmbus_common_uio.c          |  24 +-
> >  drivers/common/cnxk/roc_cpt.c                 |   8 +-
> >  drivers/common/cnxk/roc_dev.c                 |  14 +-
> >  drivers/common/cnxk/roc_irq.c                 | 108 +--
> >  drivers/common/cnxk/roc_nix_inl_dev_irq.c     |   8 +-
> >  drivers/common/cnxk/roc_nix_irq.c             |  36 +-
> >  drivers/common/cnxk/roc_npa.c                 |   2 +-
> >  drivers/common/cnxk/roc_platform.h            |  49 +-
> >  drivers/common/cnxk/roc_sso.c                 |   4 +-
> >  drivers/common/cnxk/roc_tim.c                 |   4 +-
> >  drivers/common/octeontx2/otx2_dev.c           |  14 +-
> >  drivers/common/octeontx2/otx2_irq.c           | 117 +--
> >  .../octeontx2/otx2_cryptodev_hw_access.c      |   4 +-
> >  drivers/event/octeontx2/otx2_evdev_irq.c      |  12 +-
> >  drivers/mempool/octeontx2/otx2_mempool.c      |   2 +-
> >  drivers/net/atlantic/atl_ethdev.c             |  20 +-
> >  drivers/net/avp/avp_ethdev.c                  |   8 +-
> >  drivers/net/axgbe/axgbe_ethdev.c              |  12 +-
> >  drivers/net/axgbe/axgbe_mdio.c                |   6 +-
> >  drivers/net/bnx2x/bnx2x_ethdev.c              |  10 +-
> >  drivers/net/bnxt/bnxt_ethdev.c                |  33 +-
> >  drivers/net/bnxt/bnxt_irq.c                   |   4 +-
> >  drivers/net/dpaa/dpaa_ethdev.c                |  47 +-
> >  drivers/net/dpaa2/dpaa2_ethdev.c              |  10 +-
> >  drivers/net/e1000/em_ethdev.c                 |  23 +-
> >  drivers/net/e1000/igb_ethdev.c                |  79 +--
> >  drivers/net/ena/ena_ethdev.c                  |  35 +-
> >  drivers/net/enic/enic_main.c                  |  26 +-
> >  drivers/net/failsafe/failsafe.c               |  23 +-
> >  drivers/net/failsafe/failsafe_intr.c          |  43 +-
> >  drivers/net/failsafe/failsafe_ops.c           |  19 +-
> >  drivers/net/failsafe/failsafe_private.h       |   2 +-
> >  drivers/net/fm10k/fm10k_ethdev.c              |  32 +-
> >  drivers/net/hinic/hinic_pmd_ethdev.c          |  10 +-
> >  drivers/net/hns3/hns3_ethdev.c                |  57 +-
> >  drivers/net/hns3/hns3_ethdev_vf.c             |  64 +-
> >  drivers/net/hns3/hns3_rxtx.c                  |   2 +-
> >  drivers/net/i40e/i40e_ethdev.c                |  53 +-
> >  drivers/net/iavf/iavf_ethdev.c                |  42 +-
> >  drivers/net/iavf/iavf_vchnl.c                 |   4 +-
> >  drivers/net/ice/ice_dcf.c                     |  10 +-
> >  drivers/net/ice/ice_dcf_ethdev.c              |  21 +-
> >  drivers/net/ice/ice_ethdev.c                  |  49 +-
> >  drivers/net/igc/igc_ethdev.c                  |  45 +-
> >  drivers/net/ionic/ionic_ethdev.c              |  17 +-
> >  drivers/net/ixgbe/ixgbe_ethdev.c              |  66 +-
> >  drivers/net/memif/memif_socket.c              | 111 ++-
> >  drivers/net/memif/memif_socket.h              |   4 +-
> >  drivers/net/memif/rte_eth_memif.c             |  61 +-
> >  drivers/net/memif/rte_eth_memif.h             |   2 +-
> >  drivers/net/mlx4/mlx4.c                       |  19 +-
> >  drivers/net/mlx4/mlx4.h                       |   2 +-
> >  drivers/net/mlx4/mlx4_intr.c                  |  47 +-
> >  drivers/net/mlx5/linux/mlx5_os.c              |  53 +-
> >  drivers/net/mlx5/linux/mlx5_socket.c          |  25 +-
> >  drivers/net/mlx5/mlx5.h                       |   6 +-
> >  drivers/net/mlx5/mlx5_rxq.c                   |  42 +-
> >  drivers/net/mlx5/mlx5_trigger.c               |   4 +-
> >  drivers/net/mlx5/mlx5_txpp.c                  |  26 +-
> >  drivers/net/netvsc/hn_ethdev.c                |   4 +-
> >  drivers/net/nfp/nfp_common.c                  |  34 +-
> >  drivers/net/nfp/nfp_ethdev.c                  |  13 +-
> >  drivers/net/nfp/nfp_ethdev_vf.c               |  13 +-
> >  drivers/net/ngbe/ngbe_ethdev.c                |  29 +-
> >  drivers/net/octeontx2/otx2_ethdev_irq.c       |  35 +-
> >  drivers/net/qede/qede_ethdev.c                |  16 +-
> >  drivers/net/sfc/sfc_intr.c                    |  30 +-
> >  drivers/net/tap/rte_eth_tap.c                 |  36 +-
> >  drivers/net/tap/rte_eth_tap.h                 |   2 +-
> >  drivers/net/tap/tap_intr.c                    |  32 +-
> >  drivers/net/thunderx/nicvf_ethdev.c           |  12 +
> >  drivers/net/thunderx/nicvf_struct.h           |   2 +-
> >  drivers/net/txgbe/txgbe_ethdev.c              |  38 +-
> >  drivers/net/txgbe/txgbe_ethdev_vf.c           |  33 +-
> >  drivers/net/vhost/rte_eth_vhost.c             |  76 +-
> >  drivers/net/virtio/virtio_ethdev.c            |  21 +-
> >  .../net/virtio/virtio_user/virtio_user_dev.c  |  48 +-
> >  drivers/net/vmxnet3/vmxnet3_ethdev.c          |  43 +-
> >  drivers/raw/ifpga/ifpga_rawdev.c              |  62 +-
> >  drivers/raw/ntb/ntb.c                         |   9 +-
> >  .../regex/octeontx2/otx2_regexdev_hw_access.c |   4 +-
> >  drivers/vdpa/ifc/ifcvf_vdpa.c                 |   5 +-
> >  drivers/vdpa/mlx5/mlx5_vdpa.c                 |  10 +
> >  drivers/vdpa/mlx5/mlx5_vdpa.h                 |   4 +-
> >  drivers/vdpa/mlx5/mlx5_vdpa_event.c           |  22 +-
> >  drivers/vdpa/mlx5/mlx5_vdpa_virtq.c           |  45 +-
> >  lib/bbdev/rte_bbdev.c                         |   4 +-
> >  lib/eal/common/eal_common_interrupts.c        | 588 +++++++++++++++
> >  lib/eal/common/eal_private.h                  |  11 +
> >  lib/eal/common/meson.build                    |   1 +
> >  lib/eal/freebsd/eal.c                         |   1 +
> >  lib/eal/freebsd/eal_alarm.c                   |  53 +-
> >  lib/eal/freebsd/eal_interrupts.c              | 112 ++-
> >  lib/eal/include/meson.build                   |   2 +-
> >  lib/eal/include/rte_eal_interrupts.h          | 269 -------
> >  lib/eal/include/rte_eal_trace.h               |  24 +-
> >  lib/eal/include/rte_epoll.h                   | 118 ++++
> >  lib/eal/include/rte_interrupts.h              | 668 +++++++++++++++++-
> >  lib/eal/linux/eal.c                           |   1 +
> >  lib/eal/linux/eal_alarm.c                     |  37 +-
> >  lib/eal/linux/eal_dev.c                       |  63 +-
> >  lib/eal/linux/eal_interrupts.c                | 303 +++++---
> >  lib/eal/version.map                           |  46 +-
> >  lib/ethdev/ethdev_pci.h                       |   2 +-
> >  lib/ethdev/rte_ethdev.c                       |  14 +-
> >  132 files changed, 3631 insertions(+), 1713 deletions(-)
> >  create mode 100644 lib/eal/common/eal_common_interrupts.c
> >  delete mode 100644 lib/eal/include/rte_eal_interrupts.h
> >  create mode 100644 lib/eal/include/rte_epoll.h
> >
> > --
> > 2.18.0
>
> This series is causing this seg fault with MLX5 pmd:
> Thread 1 "dpdk-l3fwd-powe" received signal SIGSEGV, Segmentation fault.
> rte_intr_free_epoll_fd (intr_handle=0x0) at ../lib/eal/linux/eal_interrupts.c:1512
> 1512                    if (__atomic_load_n(&rev->status,
> (gdb) bt
> #0  rte_intr_free_epoll_fd (intr_handle=0x0) at ../lib/eal/linux/eal_interrupts.c:1512
> #1  0x0000555556de7814 in mlx5_rx_intr_vec_disable (dev=0x55555b554a40 <rte_eth_devices>) at ../drivers/net/mlx5/mlx5_rxq.c:934
> #2  0x0000555556de73da in mlx5_rx_intr_vec_enable (dev=0x55555b554a40 <rte_eth_devices>) at ../drivers/net/mlx5/mlx5_rxq.c:836
> #3  0x0000555556e04012 in mlx5_dev_start (dev=0x55555b554a40 <rte_eth_devices>) at ../drivers/net/mlx5/mlx5_trigger.c:1146
> #4  0x0000555555b82da7 in rte_eth_dev_start (port_id=0) at ../lib/ethdev/rte_ethdev.c:1823
> #5  0x000055555575e66d in main (argc=7, argv=0x7fffffffe3f0) at ../examples/l3fwd-power/main.c:2811
> (gdb) f 1
> #1  0x0000555556de7814 in mlx5_rx_intr_vec_disable (dev=0x55555b554a40 <rte_eth_devices>) at ../drivers/net/mlx5/mlx5_rxq.c:934
> 934             rte_intr_free_epoll_fd(intr_handle);
>
>
> It can be easily reproduced as following:
> dpdk-l3fwd-power -n 4 -a 0000:08:00.0,txq_inline_mpw=439,rx_vec_en=1 -a 0000:08:00.,txq_inline_mpw=439,rx_vec_en=1 -c 0xfffffff -- -p 0x3 -P --interrupt-only --parse-ptype --config='(0, 0, 0)(1, 0, 1)(0, 1, 2)(1, 1, 3)(0, 2, 4)(1, 2, 5)(0, 3, 6)(1, 3, 7)'
>

That confirms my suspicion on pci bus update that look at
RTE_PCI_DRV_NEED_MAPPING.
v7 incoming.


-- 
David Marchand


  reply	other threads:[~2021-10-25 13:10 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-26 14:57 [dpdk-dev] [RFC 0/7] " Harman Kalra
2021-08-26 14:57 ` [dpdk-dev] [RFC 1/7] eal: interrupt handle API prototypes Harman Kalra
2021-08-31 15:52   ` Kinsella, Ray
2021-08-26 14:57 ` [dpdk-dev] [RFC 2/7] eal/interrupts: implement get set APIs Harman Kalra
2021-08-31 15:53   ` Kinsella, Ray
2021-08-26 14:57 ` [dpdk-dev] [RFC 3/7] eal/interrupts: avoid direct access to interrupt handle Harman Kalra
2021-08-26 14:57 ` [dpdk-dev] [RFC 4/7] test/interrupt: apply get set interrupt handle APIs Harman Kalra
2021-08-26 14:57 ` [dpdk-dev] [RFC 5/7] drivers: remove direct access to interrupt handle fields Harman Kalra
2021-08-26 14:57 ` [dpdk-dev] [RFC 6/7] eal/interrupts: make interrupt handle structure opaque Harman Kalra
2021-08-26 14:57 ` [dpdk-dev] [RFC 7/7] eal/alarm: introduce alarm fini routine Harman Kalra
2021-09-03 12:40 ` [dpdk-dev] [PATCH v1 0/7] make rte_intr_handle internal Harman Kalra
2021-09-03 12:40   ` [dpdk-dev] [PATCH v1 1/7] eal: interrupt handle API prototypes Harman Kalra
2021-09-03 12:40   ` [dpdk-dev] [PATCH v1 2/7] eal/interrupts: implement get set APIs Harman Kalra
2021-09-28 15:46     ` David Marchand
2021-10-04  8:51       ` [dpdk-dev] [EXT] " Harman Kalra
2021-10-04  9:57         ` David Marchand
2021-10-12 15:22           ` Thomas Monjalon
2021-10-13 17:54             ` Harman Kalra
2021-10-13 17:57               ` Harman Kalra
2021-10-13 18:52                 ` Thomas Monjalon
2021-10-14  8:22                   ` Thomas Monjalon
2021-10-14  9:31                     ` Harman Kalra
2021-10-14  9:37                       ` David Marchand
2021-10-14  9:41                       ` Thomas Monjalon
2021-10-14 10:31                         ` Harman Kalra
2021-10-14 10:35                           ` Thomas Monjalon
2021-10-14 10:44                             ` Harman Kalra
2021-10-14 12:04                               ` Thomas Monjalon
2021-10-14 10:25                       ` Dmitry Kozlyuk
2021-10-03 18:05     ` [dpdk-dev] " Dmitry Kozlyuk
2021-10-04 10:37       ` [dpdk-dev] [EXT] " Harman Kalra
2021-10-04 11:18         ` Dmitry Kozlyuk
2021-10-04 14:03           ` Harman Kalra
2021-09-03 12:40   ` [dpdk-dev] [PATCH v1 3/7] eal/interrupts: avoid direct access to interrupt handle Harman Kalra
2021-09-03 12:40   ` [dpdk-dev] [PATCH v1 4/7] test/interrupt: apply get set interrupt handle APIs Harman Kalra
2021-09-03 12:41   ` [dpdk-dev] [PATCH v1 5/7] drivers: remove direct access to interrupt handle fields Harman Kalra
2021-09-03 12:41   ` [dpdk-dev] [PATCH v1 6/7] eal/interrupts: make interrupt handle structure opaque Harman Kalra
2021-10-03 18:16     ` Dmitry Kozlyuk
2021-10-04 14:09       ` [dpdk-dev] [EXT] " Harman Kalra
2021-09-03 12:41   ` [dpdk-dev] [PATCH v1 7/7] eal/alarm: introduce alarm fini routine Harman Kalra
2021-09-15 14:13   ` [dpdk-dev] [PATCH v1 0/7] make rte_intr_handle internal Harman Kalra
2021-09-23  8:20   ` David Marchand
2021-10-05 12:14 ` [dpdk-dev] [PATCH v2 0/6] " Harman Kalra
2021-10-05 12:14   ` [dpdk-dev] [PATCH v2 1/6] eal/interrupts: implement get set APIs Harman Kalra
2021-10-14  0:58     ` Dmitry Kozlyuk
2021-10-14 17:15       ` [dpdk-dev] [EXT] " Harman Kalra
2021-10-14 17:53         ` Dmitry Kozlyuk
2021-10-15  7:53           ` Thomas Monjalon
2021-10-14  7:31     ` [dpdk-dev] " David Marchand
2021-10-05 12:14   ` [dpdk-dev] [PATCH v2 2/6] eal/interrupts: avoid direct access to interrupt handle Harman Kalra
2021-10-14  0:59     ` Dmitry Kozlyuk
2021-10-14 17:31       ` [dpdk-dev] [EXT] " Harman Kalra
2021-10-14 17:53         ` Dmitry Kozlyuk
2021-10-05 12:14   ` [dpdk-dev] [PATCH v2 3/6] test/interrupt: apply get set interrupt handle APIs Harman Kalra
2021-10-05 12:15   ` [dpdk-dev] [PATCH v2 4/6] drivers: remove direct access to interrupt handle Harman Kalra
2021-10-05 12:15   ` [dpdk-dev] [PATCH v2 5/6] eal/interrupts: make interrupt handle structure opaque Harman Kalra
2021-10-05 12:15   ` [dpdk-dev] [PATCH v2 6/6] eal/alarm: introduce alarm fini routine Harman Kalra
2021-10-05 16:07 ` [dpdk-dev] [RFC 0/7] make rte_intr_handle internal Stephen Hemminger
2021-10-07 10:57   ` [dpdk-dev] [EXT] " Harman Kalra
2021-10-18 19:37 ` [dpdk-dev] [PATCH v3 " Harman Kalra
2021-10-18 19:37   ` [dpdk-dev] [PATCH v3 1/7] malloc: introduce malloc is ready API Harman Kalra
2021-10-19 15:53     ` Thomas Monjalon
2021-10-18 19:37   ` [dpdk-dev] [PATCH v3 2/7] eal/interrupts: implement get set APIs Harman Kalra
2021-10-18 22:07     ` Dmitry Kozlyuk
2021-10-19  8:50       ` [dpdk-dev] [EXT] " Harman Kalra
2021-10-19 18:44         ` Harman Kalra
2021-10-18 22:56     ` [dpdk-dev] " Stephen Hemminger
2021-10-19  8:32       ` [dpdk-dev] [EXT] " Harman Kalra
2021-10-19 15:58         ` Thomas Monjalon
2021-10-20 15:30         ` Dmitry Kozlyuk
2021-10-21  9:16           ` Harman Kalra
2021-10-21 12:33             ` Dmitry Kozlyuk
2021-10-21 13:32               ` David Marchand
2021-10-21 16:05                 ` Harman Kalra
2021-10-18 19:37   ` [dpdk-dev] [PATCH v3 3/7] eal/interrupts: avoid direct access to interrupt handle Harman Kalra
2021-10-18 19:37   ` [dpdk-dev] [PATCH v3 4/7] test/interrupt: apply get set interrupt handle APIs Harman Kalra
2021-10-18 19:37   ` [dpdk-dev] [PATCH v3 5/7] drivers: remove direct access to interrupt handle Harman Kalra
2021-10-18 19:37   ` [dpdk-dev] [PATCH v3 6/7] eal/interrupts: make interrupt handle structure opaque Harman Kalra
2021-10-18 19:37   ` [dpdk-dev] [PATCH v3 7/7] eal/alarm: introduce alarm fini routine Harman Kalra
2021-10-19 18:35 ` [dpdk-dev] [PATCH v4 0/7] make rte_intr_handle internal Harman Kalra
2021-10-19 18:35   ` [dpdk-dev] [PATCH v4 1/7] malloc: introduce malloc is ready API Harman Kalra
2021-10-19 22:01     ` Dmitry Kozlyuk
2021-10-19 22:04       ` Dmitry Kozlyuk
2021-10-20  9:01         ` [dpdk-dev] [EXT] " Harman Kalra
2021-10-19 18:35   ` [dpdk-dev] [PATCH v4 2/7] eal/interrupts: implement get set APIs Harman Kalra
2021-10-20  6:14     ` David Marchand
2021-10-20 14:29       ` Dmitry Kozlyuk
2021-10-20 16:15     ` Dmitry Kozlyuk
2021-10-19 18:35   ` [dpdk-dev] [PATCH v4 3/7] eal/interrupts: avoid direct access to interrupt handle Harman Kalra
2021-10-19 21:27     ` Dmitry Kozlyuk
2021-10-20  9:25       ` [dpdk-dev] [EXT] " Harman Kalra
2021-10-20  9:52         ` Dmitry Kozlyuk
2021-10-19 18:35   ` [dpdk-dev] [PATCH v4 4/7] test/interrupt: apply get set interrupt handle APIs Harman Kalra
2021-10-19 18:35   ` [dpdk-dev] [PATCH v4 5/7] drivers: remove direct access to interrupt handle Harman Kalra
2021-10-20  1:57     ` Hyong Youb Kim (hyonkim)
2021-10-19 18:35   ` [dpdk-dev] [PATCH v4 6/7] eal/interrupts: make interrupt handle structure opaque Harman Kalra
2021-10-19 18:35   ` [dpdk-dev] [PATCH v4 7/7] eal/alarm: introduce alarm fini routine Harman Kalra
2021-10-19 21:39     ` Dmitry Kozlyuk
2021-10-22 20:49 ` [dpdk-dev] [PATCH v5 0/6] make rte_intr_handle internal Harman Kalra
2021-10-22 20:49   ` [dpdk-dev] [PATCH v5 1/6] eal/interrupts: implement get set APIs Harman Kalra
2021-10-22 23:33     ` Dmitry Kozlyuk
2021-10-22 20:49   ` [dpdk-dev] [PATCH v5 2/6] eal/interrupts: avoid direct access to interrupt handle Harman Kalra
2021-10-22 23:33     ` Dmitry Kozlyuk
2021-10-22 20:49   ` [dpdk-dev] [PATCH v5 3/6] test/interrupt: apply get set interrupt handle APIs Harman Kalra
2021-10-22 20:49   ` [dpdk-dev] [PATCH v5 4/6] drivers: remove direct access to interrupt handle Harman Kalra
2021-10-22 20:49   ` [dpdk-dev] [PATCH v5 5/6] eal/interrupts: make interrupt handle structure opaque Harman Kalra
2021-10-22 23:33     ` Dmitry Kozlyuk
2021-10-22 20:49   ` [dpdk-dev] [PATCH v5 6/6] eal/alarm: introduce alarm fini routine Harman Kalra
2021-10-22 23:33     ` Dmitry Kozlyuk
2021-10-22 23:37       ` Dmitry Kozlyuk
2021-10-24 20:04   ` [dpdk-dev] [PATCH v6 0/9] make rte_intr_handle internal David Marchand
2021-10-24 20:04     ` [dpdk-dev] [PATCH v6 1/9] interrupts: add allocator and accessors David Marchand
2021-10-24 20:04     ` [dpdk-dev] [PATCH v6 2/9] interrupts: remove direct access to interrupt handle David Marchand
2021-10-25  6:57       ` David Marchand
2021-10-24 20:04     ` [dpdk-dev] [PATCH v6 3/9] test/interrupts: " David Marchand
2021-10-24 20:04     ` [dpdk-dev] [PATCH v6 4/9] alarm: " David Marchand
2021-10-25 10:49       ` Dmitry Kozlyuk
2021-10-25 11:09         ` David Marchand
2021-10-24 20:04     ` [dpdk-dev] [PATCH v6 5/9] lib: " David Marchand
2021-10-24 20:04     ` [dpdk-dev] [PATCH v6 6/9] drivers: " David Marchand
2021-10-24 20:04     ` [dpdk-dev] [PATCH v6 7/9] interrupts: make interrupt handle structure opaque David Marchand
2021-10-24 20:04     ` [dpdk-dev] [PATCH v6 8/9] interrupts: rename device specific file descriptor David Marchand
2021-10-24 20:04     ` [dpdk-dev] [PATCH v6 9/9] interrupts: extend event list David Marchand
2021-10-25 10:49       ` Dmitry Kozlyuk
2021-10-25 11:11         ` David Marchand
2021-10-25 13:04   ` [dpdk-dev] [PATCH v5 0/6] make rte_intr_handle internal Raslan Darawsheh
2021-10-25 13:09     ` David Marchand [this message]
2021-10-25 13:34   ` [dpdk-dev] [PATCH v7 0/9] " David Marchand
2021-10-25 13:34     ` [dpdk-dev] [PATCH v7 1/9] interrupts: add allocator and accessors David Marchand
2021-10-25 13:34     ` [dpdk-dev] [PATCH v7 2/9] interrupts: remove direct access to interrupt handle David Marchand
2021-10-25 13:34     ` [dpdk-dev] [PATCH v7 3/9] test/interrupts: " David Marchand
2021-10-25 13:34     ` [dpdk-dev] [PATCH v7 4/9] alarm: " David Marchand
2021-10-25 13:34     ` [dpdk-dev] [PATCH v7 5/9] lib: " David Marchand
2021-10-28  6:14       ` Jiang, YuX
2021-10-25 13:34     ` [dpdk-dev] [PATCH v7 6/9] drivers: " David Marchand
2021-10-25 13:34     ` [dpdk-dev] [PATCH v7 7/9] interrupts: make interrupt handle structure opaque David Marchand
2021-10-25 13:34     ` [dpdk-dev] [PATCH v7 8/9] interrupts: rename device specific file descriptor David Marchand
2021-10-25 13:34     ` [dpdk-dev] [PATCH v7 9/9] interrupts: extend event list David Marchand
2021-10-25 14:27   ` [dpdk-dev] [PATCH v8 0/9] make rte_intr_handle internal David Marchand
2021-10-25 14:27     ` [dpdk-dev] [PATCH v8 1/9] interrupts: add allocator and accessors David Marchand
2021-10-25 14:27     ` [dpdk-dev] [PATCH v8 2/9] interrupts: remove direct access to interrupt handle David Marchand
2021-10-25 14:27     ` [dpdk-dev] [PATCH v8 3/9] test/interrupts: " David Marchand
2021-10-25 14:27     ` [dpdk-dev] [PATCH v8 4/9] alarm: " David Marchand
2021-10-25 14:27     ` [dpdk-dev] [PATCH v8 5/9] lib: " David Marchand
2021-10-25 14:27     ` [dpdk-dev] [PATCH v8 6/9] drivers: " David Marchand
2021-10-25 14:27     ` [dpdk-dev] [PATCH v8 7/9] interrupts: make interrupt handle structure opaque David Marchand
2021-10-25 14:27     ` [dpdk-dev] [PATCH v8 8/9] interrupts: rename device specific file descriptor David Marchand
2021-10-25 14:27     ` [dpdk-dev] [PATCH v8 9/9] interrupts: extend event list David Marchand
2021-10-28 15:58       ` Ji, Kai
2021-10-28 17:16         ` David Marchand
2021-10-25 14:32     ` [dpdk-dev] [PATCH v8 0/9] make rte_intr_handle internal Raslan Darawsheh
2021-10-25 19:24     ` David Marchand

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='CAJFAV8ymkOrCkXVthromjPL03qvUbM_PkTBV+-=CUaXz4rpSWQ@mail.gmail.com' \
    --to=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=hkalra@marvell.com \
    --cc=mdr@ashroe.eu \
    --cc=rasland@nvidia.com \
    --cc=thomas@monjalon.net \
    /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

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git