From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DEFFAA0C41; Wed, 15 Sep 2021 16:13:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A71F34068F; Wed, 15 Sep 2021 16:13:56 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 495B94014F for ; Wed, 15 Sep 2021 16:13:55 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 18F9dHGJ021603 for ; Wed, 15 Sep 2021 07:13:54 -0700 Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2176.outbound.protection.outlook.com [104.47.56.176]) by mx0a-0016f401.pphosted.com with ESMTP id 3b3ed01084-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 Sep 2021 07:13:54 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KCFnMnpjjFvLISPsU/rZGGEa+uTu3jqP+GN27u4rx+ymuvCCe1Ex+ugTLhYtyv84GwJ5K652yNhySEe0BmvmaxkMKdZDk0RrvL6g0OEXU9SGBoV1y3RJbHfXtn/IEt/gNbewhEpoZzBEHidEawjP77KQUUbdFtrG54BdS0dPgkACxJL28JLx4sY+J4mriR78tS2awUM9M9Lk6MTqymsIGof7PZbXgWudCtzSyjGM/kiBO3lZfyHBZ6Na0ZNzaGLnMrkqL4dwKX5qSfYEM2QGHfID+rP0eHBZ3PttRThsH9Qe2syWskDbfXmFrmkVic54M4pSsfJKuOXCHcIqUjf35w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=W/nJJb/SJtyIJWhsXSR4Hl9RmrWs2GK4xiT0WO9Eza4=; b=dfus7yEqdwfmExh/H2kLw6aALnoWMyyu8uDAYG+jgnNAqhkWfgAr5ZznC8Ie5A2jLmLEWfKbOo4E2eHZ0V9Xrk0RnLGCqrkXhZdAhnQbZezCoqCZa0DLIPupXcWZiVURg/axnne+n+puWsRMil6dkYF+utdmIdR2PMzi8QRgzh/opddPFNNYJJn8EqN7LBz0E56cXyj06z2kq0Pq0mCleePhg2ub1jsKvhXaMXjhxSjw8tuXlCuyAzO1a8dZ+pWFSvQqQYaLP8nLedqVh+pJssEyiK1x/hAlnOLnwfWDZEk/eIiE2JTUsF+FThM4UPQqZb3L3SikdVYHl0+g/CF3/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W/nJJb/SJtyIJWhsXSR4Hl9RmrWs2GK4xiT0WO9Eza4=; b=FesBMs3qkQdYjftg45FXvG1ECt6nnxyWEWaWaVTQqnBhR3XJRXzLScqT1HqunpHGV2JwM7+tN/7mhmkWWieDoeHreqHYFvPhXdYhQiS5dubCbeW31tVNlTh1UBDBDZDmzoY+mmsmk2KytqJ+TZaaXpYL9/AFJtwCrlClaUK7Ink= Received: from BN9PR18MB4204.namprd18.prod.outlook.com (2603:10b6:408:119::18) by BN8PR18MB2483.namprd18.prod.outlook.com (2603:10b6:408:9e::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.14; Wed, 15 Sep 2021 14:13:52 +0000 Received: from BN9PR18MB4204.namprd18.prod.outlook.com ([fe80::29f4:8e3d:264f:26b1]) by BN9PR18MB4204.namprd18.prod.outlook.com ([fe80::29f4:8e3d:264f:26b1%7]) with mapi id 15.20.4523.014; Wed, 15 Sep 2021 14:13:52 +0000 From: Harman Kalra To: "dev@dpdk.org" Thread-Topic: [PATCH v1 0/7] make rte_intr_handle internal Thread-Index: AQHXoMER9jzynY8yOUOdqWAjLZmOGauk9/jA Date: Wed, 15 Sep 2021 14:13:52 +0000 Message-ID: References: <20210826145726.102081-1-hkalra@marvell.com> <20210903124102.47425-1-hkalra@marvell.com> In-Reply-To: <20210903124102.47425-1-hkalra@marvell.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a02c75cb-e1cc-41d3-9592-08d978530bb8 x-ms-traffictypediagnostic: BN8PR18MB2483: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3173; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UH1CrRwtfpZtvI+sR2F19KoYPoZn7sQhvBndCBZVlLuHR0t0pXuJDhXrzJs9zHaG7wPo8kn7+mg+aesWskKKdo7ZdZoS4ewMnnu5BVeGOiw8ocLS+o68dWL6Q1f6LuBsotFIqMMzij8BTtDVPKJcICZyhsb+j3ctVXo4tnUGPeABF07WZM7a+guwaTHV7aPT3gBzljBiHMbN1d+BJvRwVYdD4kXljnCsHXqd4QZcK0CyeBfNXRHVA/+7MfiacypyNxjZGqA25U/AtXWCUu8trWEt/EBKHgKtJsTadgXE6pXCyxxMBl9cB8+maH+zmVSKNO8Ub6wl3E/YnO8dg2kTzB3oFgmA3iPWRPjkzA3cDhI2vleNqvD+t+Kzhtbd9XfevsVYboTxhBoLWFbKjBAkYZsnEbC7PoT4wWQp5rglmzwqi70JunIXjwuyH4ttomjIsi98m96nfCOKSKpbM5Htn7CcPHNxGlGFLyj7/ItAiF2l8OFCexb6rdBbrytFnqaa/+q1/Jk+x+fTmLfdpCHDoFXagR8UNM5yN9BpBzTGMfju5aMWZP2QpcCFEceNuqTTT+bF6xOnIrDMjq7csK7VPvQ5AHLNEsw8Bt7ZTq58Sax7n7d10qf818staIlYsSw8Bww+FLrADLmSvl3w57P8KjmwHBl8/2hWYEmOA/g1vJqkei8mTu0xU9rAYtANxp1DgGVg5Xp8Cg4K6NinZIvpsnJQEkYcoYoBJxtAzqkt1ZEEn+88Q9YE9jlngFJtGx9J3PbfLmoj8/v1pY0DhQjHWw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR18MB4204.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(966005)(30864003)(66446008)(64756008)(66946007)(66556008)(2906002)(71200400001)(83380400001)(76116006)(66476007)(6506007)(8936002)(38100700002)(53546011)(7696005)(26005)(8676002)(33656002)(186003)(316002)(19627235002)(9686003)(122000001)(55016002)(86362001)(5660300002)(38070700005)(508600001)(52536014)(6916009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?gB6EKm7ASH6qxdU5DB4Fr2NUA0Jkmd6Td+p1KMTyHR4vBfEri9GvNuhrp/K8?= =?us-ascii?Q?Qnd/ecnRiQx0zv1SULRH7WpoZeiDPVJxvLqV02tFyR1ex9Snns6CmVcbVme7?= =?us-ascii?Q?bZiNa+QOosx8kj1pm/SdXz+Ia876Jer/bKp73Ma0F1P47QvX5A6cysfH29QQ?= =?us-ascii?Q?vXSRe/YZSjCvewPPc4lHJn4Ed7vjbzMgJXE1HqOsKGU0MCM6D4GuUj6aiihY?= =?us-ascii?Q?yN+f5cRu7wcKxhWB+tauknp9dVqCMocF+yfLoOe9mJrkV+OZHbPvby52nFA5?= =?us-ascii?Q?U/pE8db+M5QcGErYZHqTCWEjY7nfoTN3TXTUEUc9FEMUtNNk/+eV5TLoXngJ?= =?us-ascii?Q?WBda+webI6woISnb/uxOGX+14RyjzWrcQHCRGM/kVxI0Z/LuOH3cz97zUqTo?= =?us-ascii?Q?zUbTtBYwNJAM5w3W3WWuvFGzBD+46lHq3FRf18sisVsLJHPY7rEw+KYPhZIg?= =?us-ascii?Q?zvr2jfnxo7KlCGHT4Pswr/Rq/I9WLbYjCdDAe3UwrZCnThXfqt6lUScP76OB?= =?us-ascii?Q?UwZIwoUCuyvZGZKA7MVJJomVlTGzvuDWIECUVkwqiLtUMoZ/vDU14AZGgjBS?= =?us-ascii?Q?jVuOqiBtfKYgIeaCEIuVT+fo+eLpAllVrlvScEm7SzsWtB0fvN2T1JxTW3JR?= =?us-ascii?Q?dVW61YVphZCLdNOdu+cigoxtOydkOi2wOULqHB5P8grcvq6mTglt5N7QepEd?= =?us-ascii?Q?R+kkh8mn7n2aWlaaImlK1zjGi/oF/CtJt1t/0/qnwDod3ew1FHibDF08Bv3h?= =?us-ascii?Q?zRuHa8GBLAGmB+0xh+fIUZ9ykzxlOysT18Y4oQuCY9oVbv3kX2XwfS1r+x/Y?= =?us-ascii?Q?CA06jlwl95iXYYbtInGZ1llr/Q1NM3X2yrFIGU/92aN8se4Tb5A7qU3iWi57?= =?us-ascii?Q?FqmwoK/F1zHXv8ZV2rWgsTtucmQA3/TKFiE875jW8HXXH3JqsF6th4jGO50n?= =?us-ascii?Q?ZWSpzuk011CjSowd8WENero9qVtLxfEiFtn+DIB2ayL3Dr40sXndcKaaFjUw?= =?us-ascii?Q?Ebqi4EzI8kjB9hPV0OOESotQRE5xAira2L8HWh2wT5oJkWftVfrNjIwfW8vj?= =?us-ascii?Q?pQXNSZJyHpGgE65D2YgVvvqvcYI4oImK/jfzVpjSb0vo4x0LPzs5wwlxDs2E?= =?us-ascii?Q?ACV/mHHs0VyaMuUTXJrxd4w8iFCAVF0PN0an9C4zJq6hI120hYVCKt+l1veM?= =?us-ascii?Q?NLsr0TMEnAskWNAQ4Cr7jYBJpRVszcWLwGGQACq1TVg1Or/RNuD+eXY2yKX9?= =?us-ascii?Q?kxigiMIcv4qafJU5rXNEq4sHq+fTfXQNdQQ3jfeYkRsML1XZUExA8XTgF0Zm?= =?us-ascii?Q?i0g=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR18MB4204.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a02c75cb-e1cc-41d3-9592-08d978530bb8 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 14:13:52.2556 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yk7gfbknoJdXXMLW0chUOJW+FP6CMSt3vK+KqwWs5XqNWR2da0ZlCOCj8X0d9wzZXQGUX+uTK2ThH8aiBrOUmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR18MB2483 X-Proofpoint-GUID: lw8sIrWCqfVX4mxHUSfCDUqDlCz_CunF X-Proofpoint-ORIG-GUID: lw8sIrWCqfVX4mxHUSfCDUqDlCz_CunF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475 definitions=2021-09-15_03,2021-09-15_01,2020-04-07_01 Subject: Re: [dpdk-dev] [PATCH v1 0/7] make rte_intr_handle internal X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Ping... Kindly review the series. Also would like to request PMD maintainers(who us= es interrupt APIs) to validate the series for their respective drivers,=20 as many drivers underwent interrupt related changes in patch 5 of the serie= s. Thanks Harman > -----Original Message----- > From: Harman Kalra > Sent: Friday, September 3, 2021 6:11 PM > To: dev@dpdk.org > Cc: Harman Kalra > Subject: [PATCH v1 0/7] make rte_intr_handle internal >=20 > 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 specific= ation > 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. >=20 > Change already included in 21.11 ABI improvement spreadsheet (item 42): > https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__docs.google.com_s > preadsheets_d_1betlC000ua5SsSiJIcC54mCCCJnW6voH5Dqv9UxeyfE_edit- > 23gid- > 3D0&d=3DDwICaQ&c=3DnKjWec2b6R0mOyPaz7xtfQ&r=3D5ESHPj7V- > 7JdkxT_Z_SU6RrS37ys4U > XudBQ_rrS5LRo&m=3D7dl3OmXU7QHMmWYB6V1hYJtq1cUkjfhXUwze2Si_48c > &s=3Dlh6DEGhR > Bg1shODpAy3RQk-H-0uQx5icRfUBf9dtCp4&e=3D >=20 >=20 > This series makes struct rte_intr_handle totally opaque to the outside wo= rld > by wrapping it inside a .c file and providing get set wrapper APIs to rea= d or > manipulate its fields.. Any changes to be made to any of the fields shoul= d 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. >=20 > Details on each patch of the series: > Patch 1: eal: interrupt handle API prototypes This patch provides prototy= pes > of all the new get set APIs, and 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= . >=20 > Patch 2: eal/interrupts: implement get set APIs Implementing all get, set= and > alloc 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 i= s > unknown to all the drivers. > Drivers are expected to allocate interrupt instances during initializatio= n and > free these instances during cleanup phase. >=20 > Patch 3: eal/interrupts: avoid direct access to interrupt handle Modifyin= g the > interrupt framework for linux and freebsd to use these get set alloc APIs= as > per requirement and avoid accessing the fields directly. >=20 > Patch 4: test/interrupt: apply get set interrupt handle APIs Updating > interrupt test suite to use interrupt handle APIs. >=20 > Patch 5: drivers: remove direct access to interrupt handle fields Modifyi= ng all > the drivers and libraries which are currently directly accessing the inte= rrupt > handle fields. Drivers are expected to allocated the interrupt instance, = use > get set APIs with the allocated interrupt handle and free it on cleanup. >=20 > Patch 6: eal/interrupts: make interrupt handle structure opaque In this p= atch > rte_eal_interrupt.h is removed, struct rte_intr_handle definition is move= d to > c file to make it completely opaque. As part of interrupt handle allocati= on, > 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 b= e > reallocated accordingly. >=20 > Patch 7: eal/alarm: introduce alarm fini routine Introducing alarm fini r= outine, > as the memory allocated for alarm interrupt instance can be freed in alar= m > fini. >=20 > 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. >=20 > v1: > * Fixed freebsd compilation failure > * Fixed seg fault in case of memif >=20 > Harman Kalra (7): > eal: interrupt handle API prototypes > 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 fields > eal/interrupts: make interrupt handle structure opaque > eal/alarm: introduce alarm fini routine >=20 > MAINTAINERS | 1 + > app/test/test_interrupts.c | 237 +++--- > drivers/baseband/acc100/rte_acc100_pmd.c | 18 +- > .../fpga_5gnr_fec/rte_fpga_5gnr_fec.c | 13 +- > drivers/baseband/fpga_lte_fec/fpga_lte_fec.c | 14 +- > drivers/bus/auxiliary/auxiliary_common.c | 2 + > drivers/bus/auxiliary/linux/auxiliary.c | 11 + > 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 | 17 +- > drivers/bus/fslmc/fslmc_vfio.c | 32 +- > drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 21 +- > drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 2 +- > drivers/bus/fslmc/rte_fslmc.h | 2 +- > drivers/bus/ifpga/ifpga_bus.c | 16 +- > 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 | 7 + > 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 | 106 +-- > drivers/common/cnxk/roc_nix_irq.c | 37 +- > drivers/common/cnxk/roc_npa.c | 2 +- > drivers/common/cnxk/roc_platform.h | 34 + > 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 | 22 +- > 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 | 32 +- > 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 | 24 +- > drivers/net/e1000/igb_ethdev.c | 84 ++- > drivers/net/ena/ena_ethdev.c | 36 +- > drivers/net/enic/enic_main.c | 27 +- > drivers/net/failsafe/failsafe.c | 24 +- > drivers/net/failsafe/failsafe_intr.c | 45 +- > drivers/net/failsafe/failsafe_ops.c | 23 +- > 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 | 50 +- > drivers/net/hns3/hns3_ethdev_vf.c | 57 +- > drivers/net/hns3/hns3_rxtx.c | 2 +- > drivers/net/i40e/i40e_ethdev.c | 55 +- > drivers/net/i40e/i40e_ethdev_vf.c | 43 +- > drivers/net/iavf/iavf_ethdev.c | 41 +- > drivers/net/iavf/iavf_vchnl.c | 4 +- > drivers/net/ice/ice_dcf.c | 10 +- > drivers/net/ice/ice_dcf_ethdev.c | 23 +- > drivers/net/ice/ice_ethdev.c | 51 +- > drivers/net/igc/igc_ethdev.c | 47 +- > drivers/net/ionic/ionic_ethdev.c | 12 +- > drivers/net/ixgbe/ixgbe_ethdev.c | 70 +- > drivers/net/memif/memif_socket.c | 114 ++- > drivers/net/memif/memif_socket.h | 4 +- > drivers/net/memif/rte_eth_memif.c | 63 +- > drivers/net/memif/rte_eth_memif.h | 2 +- > drivers/net/mlx4/mlx4.c | 20 +- > drivers/net/mlx4/mlx4.h | 2 +- > drivers/net/mlx4/mlx4_intr.c | 48 +- > drivers/net/mlx5/linux/mlx5_os.c | 56 +- > drivers/net/mlx5/linux/mlx5_socket.c | 26 +- > drivers/net/mlx5/mlx5.h | 6 +- > drivers/net/mlx5/mlx5_rxq.c | 43 +- > drivers/net/mlx5/mlx5_trigger.c | 4 +- > drivers/net/mlx5/mlx5_txpp.c | 27 +- > drivers/net/netvsc/hn_ethdev.c | 4 +- > drivers/net/nfp/nfp_common.c | 28 +- > drivers/net/nfp/nfp_ethdev.c | 13 +- > drivers/net/nfp/nfp_ethdev_vf.c | 13 +- > drivers/net/ngbe/ngbe_ethdev.c | 31 +- > drivers/net/octeontx2/otx2_ethdev_irq.c | 35 +- > drivers/net/qede/qede_ethdev.c | 16 +- > drivers/net/sfc/sfc_intr.c | 29 +- > drivers/net/tap/rte_eth_tap.c | 37 +- > drivers/net/tap/rte_eth_tap.h | 2 +- > drivers/net/tap/tap_intr.c | 33 +- > drivers/net/thunderx/nicvf_ethdev.c | 13 + > drivers/net/thunderx/nicvf_struct.h | 2 +- > drivers/net/txgbe/txgbe_ethdev.c | 36 +- > drivers/net/txgbe/txgbe_ethdev_vf.c | 35 +- > drivers/net/vhost/rte_eth_vhost.c | 78 +- > drivers/net/virtio/virtio_ethdev.c | 17 +- > .../net/virtio/virtio_user/virtio_user_dev.c | 53 +- > drivers/net/vmxnet3/vmxnet3_ethdev.c | 45 +- > drivers/raw/ifpga/ifpga_rawdev.c | 42 +- > drivers/raw/ntb/ntb.c | 10 +- > .../regex/octeontx2/otx2_regexdev_hw_access.c | 4 +- > drivers/vdpa/ifc/ifcvf_vdpa.c | 5 +- > drivers/vdpa/mlx5/mlx5_vdpa.c | 11 + > drivers/vdpa/mlx5/mlx5_vdpa.h | 4 +- > drivers/vdpa/mlx5/mlx5_vdpa_event.c | 22 +- > drivers/vdpa/mlx5/mlx5_vdpa_virtq.c | 46 +- > lib/bbdev/rte_bbdev.c | 4 +- > lib/eal/common/eal_common_interrupts.c | 668 +++++++++++++++++ > lib/eal/common/eal_private.h | 11 + > lib/eal/common/meson.build | 2 + > lib/eal/freebsd/eal.c | 1 + > lib/eal/freebsd/eal_alarm.c | 56 +- > lib/eal/freebsd/eal_interrupts.c | 94 ++- > 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 | 116 +++ > lib/eal/include/rte_interrupts.h | 673 +++++++++++++++++- > lib/eal/linux/eal.c | 1 + > lib/eal/linux/eal_alarm.c | 39 +- > lib/eal/linux/eal_dev.c | 65 +- > lib/eal/linux/eal_interrupts.c | 294 +++++--- > lib/eal/version.map | 30 + > lib/ethdev/ethdev_pci.h | 2 +- > lib/ethdev/rte_ethdev.c | 14 +- > 132 files changed, 3797 insertions(+), 1685 deletions(-) create mode 10= 0644 > 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 >=20 > -- > 2.18.0