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 2ADCFA0C4E; Mon, 25 Oct 2021 16:33:00 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0D399410EB; Mon, 25 Oct 2021 16:33:00 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08on2074.outbound.protection.outlook.com [40.107.100.74]) by mails.dpdk.org (Postfix) with ESMTP id 83B064003E for ; Mon, 25 Oct 2021 16:32:58 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EGB2m0xSrgvkS0Qklt4KOYr6XIcEMvVNAOQRjy3OxcOY+V4SOBL+9Uvo9nlqY4SD0WiLE63UKUmvlRqFqnJD4oUJW6nTE8vm6951Qe3qruy0x2+K78eU23GekHph3UOaQjI8FG/VamxhYZIaMvQCPsouCLK2aS1PbpuJVTCIeX2HkixdMvrvYgIVwz9P7dXOf6d0yDQ+4hqyLxD9QQ9jUCP400ESQiSOhafEyPvOvaC/okoXLm8WtYdamUbMvNP74SdyP/KMLIGFi856+PRhsTvbmuDiGGifgSlv3W9TIuRbesIAVT4fOTo6YRpV6bi6+pNKBBaF4yB9TgUAkGP/8w== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nmU5RsFJd2dKVAQ97uXrtOOm3LdIAAFvD9RtNgCeOYc=; b=kPzgmXBjDG13S7Pjod5gB+g6HQxnH/Y9OeSaee0aTA7YZbWn7MAMdZiLDLH4SFRz8xgYGz9hq8bQttLA+DdDZOYZtJMRZRZSngUwuErpLgwvx3tfYKl7Akyd1XvCaQfiyUa6mEZzDSNjefP5J1N8c6ahLifVhkbIhQts4q2y2PflBSkuVnBGGHTYw96qnE5nL1wWgqkf9OAM4U9zKVnMHC4T8LwKVJ9dqISpMOS+5kj0ElvAUzm/LCcMATJCGd/xdCrGS86dUiGcTWSJoXxnueF/dklPgPECQ/FKB7/wPYj/jUjpGAm4uEjFmBwvDXMz28Ft5xab6L2S2iM1NwBJFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nmU5RsFJd2dKVAQ97uXrtOOm3LdIAAFvD9RtNgCeOYc=; b=RQPUCvkUuxb8upQDiVl2tJxULb+uyUNJBFtaxs2t474dS/t8uZI3evJOXUiTObsrpDQjY9OEdb6sZld2b9NgUy38Z70YPXqzUvcKu5F/VPCtz/Sm5+pNnbLNrNgAIbKTWmj6WZpTKfmMY3UyOSg+ViokG1LTbPsCCLfGhLOF/NAvGE07Nn/mrHrFs3y3LhcBMGqoYePAid4MKSNblzcNrcYRTOLAFRvpQhYwUy766VOIWXRMPAd1moqpPuJG0lhVC3PAdJiBT5JTwId2DI+Y28e2eDr5gLA9Z1GlcAU5juj+ZIAAX1ZyIAPgrVCnc7wr7cvE9MKLFHvdPv6beXxC8g== Received: from DM4PR12MB5312.namprd12.prod.outlook.com (2603:10b6:5:39d::20) by DM6PR12MB5535.namprd12.prod.outlook.com (2603:10b6:5:20a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18; Mon, 25 Oct 2021 14:32:56 +0000 Received: from DM4PR12MB5312.namprd12.prod.outlook.com ([fe80::a4bc:7da3:32e5:1665]) by DM4PR12MB5312.namprd12.prod.outlook.com ([fe80::a4bc:7da3:32e5:1665%9]) with mapi id 15.20.4628.020; Mon, 25 Oct 2021 14:32:56 +0000 From: Raslan Darawsheh To: David Marchand , "hkalra@marvell.com" , "dev@dpdk.org" CC: "dmitry.kozliuk@gmail.com" , NBU-Contact-Thomas Monjalon Thread-Topic: [PATCH v8 0/9] make rte_intr_handle internal Thread-Index: AQHXyax0BkdYO7bNSEajiXfhGsvpQ6vjxvSw Date: Mon, 25 Oct 2021 14:32:56 +0000 Message-ID: References: <20211022204934.132186-1-hkalra@marvell.com> <20211025142712.1273-1-david.marchand@redhat.com> In-Reply-To: <20211025142712.1273-1-david.marchand@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a16c9b6f-a53a-4b65-c137-08d997c45669 x-ms-traffictypediagnostic: DM6PR12MB5535: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DlJz6moLlF3J7T7ysZm+Wm9FYlKfZvFi29hz5pW1qF9ELWgNP4ZcTfCI/7f2pb/AGNn7yKW4ue9lxmI+L2TZpIYcU8ZNMBo98ILePFeZSWv5sqpVq+ucD69yw6EIAcZzK7bbteyP6bzuzvRZowM4vkIAXDeqXdvFkWgc+KiCreY/nNdsH4w2CWN0uuPOWXnNdurPkKChg06L9dPfh490dZa1BpWW4ptGANLIu5Q175/qYsnF+em2i/o2NC/kADaR0rRhSuP+9oTuKlTSrgLHVgO5YUFur0uoJLNlYOKQezN+Hr/rA2ox4Vhd7JyyAAFvLQKfF8a2XO2W5m2VRPwe8A7D8T16TZVtz0YLcq0FnYneRqMkSwh32xLrWilGl7pA97W+Ppb9aEGo2RxAk7OBdJuwJTU9REtkNp+kIsfmnjytL+T+HpUbu680diDohhTjF/ixZK/9wscRur1s3YAxxNTu3SydB8ioYk9liQJNLz+WDm1pDOvXBcatmcGuO8wvYWwMKO1KoLzeu1MvIGQ2jfhkVdo8AvVY0rIzNvIQESWBb1smnSNVPrjeB/K2rgmLhiUrHj+oQbTsVwQvzG+NjSieAujV0BupSY1eQKUjZujKYS3JOPTDJKNmWVqildns1/0Zsx6OpBUsAbhi3B6Ly/f+ZQIxscI3oUlXZpXcDgYU4QjfUfrnUV/QlzyIrDV/+YlI8q+s9w9UFviE/zFv+mDNgpN8J1E8UeBHbZG0wlCWqZt/39R/TZdxRgXMvyI0e4jfMclTcorRdEHvzIEULJWys57vS06lx6WFt+oHLjI= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5312.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(110136005)(66446008)(66946007)(33656002)(64756008)(54906003)(66476007)(508600001)(8936002)(30864003)(7696005)(38070700005)(26005)(4326008)(66556008)(86362001)(38100700002)(8676002)(122000001)(5660300002)(52536014)(53546011)(186003)(55016002)(9686003)(6506007)(45080400002)(19627235002)(316002)(83380400001)(2906002)(966005)(76116006)(71200400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?/sTx7bGV0718MNWoq9kL9RALsLz3bwEPTWZk0Ny9o2hxluRS+FW+X6q46sqV?= =?us-ascii?Q?msROGXm4xIld+Y3yrQDtLOMzji59iXZVEWJUq2MYyt53z5H3ArGMDE38a+5t?= =?us-ascii?Q?rzgfIzAhGXXsUrcDahcvYNlnGuRBoM8dk5zaudVUQTkAk/E56OtTWMbsI7VY?= =?us-ascii?Q?5S8g0bArjkQ3pmSORht5/irzn67zMIa3b0N4w7YWfvj2dfAn3Z5D/bpzshOX?= =?us-ascii?Q?V0cSVMulUNAEkTOYJ0vktvVdcRgxSv+jlKR9rXufWXa6wmZkavAf3I9Vhj2B?= =?us-ascii?Q?iMMjkTlIFsiXifBstYSh6MWCW3ujdgIa+cIcp8aaFma9aL3cX6Pw8kZf5sWz?= =?us-ascii?Q?u3HhkPlTaFBakRnyk6KMLrOxyH5zKrTyYkbrJ1VpPeWWc1zn86ojHBix8LxC?= =?us-ascii?Q?uakeHcDQgpIY0sa69cxRoRi7iwlscc5/8y/7qOqnW1RfFvm+kEI5NGl0wwv2?= =?us-ascii?Q?xelKLAxEABhvbodSemDyk/AX/5LwDoEDI8eLxPN0JpfNt7bz+JsQ1/x3Jgp5?= =?us-ascii?Q?3MoMRq6jgIM2aFhsFg87hMqB+soqMhph+s6oXzwudoMbSaH/6brZ+0pbhb6B?= =?us-ascii?Q?qJjviwOhfJpO30kDPyvl2++zy/Zf2rgeuSO4BrBB+ODCwI9TJlF8zzVVzlod?= =?us-ascii?Q?gW2ygb97PQDSqCN9N7GRj+B1OO6AZ4rFXr9B5QzSbh3FXUnLmUMswq+fNlR+?= =?us-ascii?Q?nmHzLKgsPZclGLTr5fDpz6qeZ9feckDfAhZBLWun+rI922LcRRAZo+XUo/52?= =?us-ascii?Q?MICBM2iER6phydRaQpMxzSmGyVHBGZaNw1LvpPSEPi3jeHkqWPtf61WggsYB?= =?us-ascii?Q?9ZUyZjkFsxTgwNtnQx/0YW10ncC2wZIvAV+LVI7tQUVvfXotYwGPzerpJAoc?= =?us-ascii?Q?i/ZOeKaD6T+JlDpEc9khH5S7lxt5KitlCnSCdzZbGFLMrgwxDOiNqLXs3l7X?= =?us-ascii?Q?eEcAiXqD+i2Pmr3D4mhYOHOZ/KBSe+PW83ZIJYyXDiisERE3HW7o97r8Pv1r?= =?us-ascii?Q?lE/7WNQv1f7kQ8/X9rK6/26sIPRxEOOxg9lGKSVziu30gs95c2+lZzQNYSkA?= =?us-ascii?Q?L/XibusttB/qvd1XOZ8ddUL1pb6c8Lfc4YUPA83txQP2JB14Le38SWaQC8nu?= =?us-ascii?Q?8RAm0GJ2iKGbaWA8BVvI8CdmpMijUoKXumHbLGrryZnedmqFCflvdBHyOirU?= =?us-ascii?Q?bQF0GlHiBqXiYEiPB0hhp/PN5b6ALZY7/LCwNf4G6I9yHB4+iN1Hi65QjjWp?= =?us-ascii?Q?SY97wddUp5EexB4zm7Gt/6YZAEf8ig+yogFnptuVsc4uREoEjiw2PmbCZkix?= =?us-ascii?Q?5wtWVbW3mHa43OXUQbwmiNezViqmLfdz8C72q3CFBsU5cBJgt1lGMjSya297?= =?us-ascii?Q?1EsBaxi7/E2flEt6ZjNrw3+l/7tDd69s8sXePs3HjLqScp+oy5FqLBMx9AkN?= =?us-ascii?Q?UGEkfgCynHOnqvHrHR7uv3DytNXzP+9lYwBowmOUID6nzwPDoaqagtlmYbqV?= =?us-ascii?Q?RMciMeyUGEGpWE2Rqx4R2iG7Yt34n9msQzlvZge8poAKwhVaOyrH+WnnxYST?= =?us-ascii?Q?WYZHUHz9fE8CZ+bC42C1uPZCUz+KEpzAYl8y4cvRP+fJcBtSPhqA/XhP3xrO?= =?us-ascii?Q?oVU8aCsLpCPFh2cXOOZmtW4=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5312.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a16c9b6f-a53a-4b65-c137-08d997c45669 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Oct 2021 14:32:56.7447 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gAzESsctBpQlvKJPiGDk1cgulzvBPiYZuWyAWbpNh/BO/wQcmYeZmaXtqqYnHfJWyET200nYcCZVfqvIcLsjNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB5535 Subject: Re: [dpdk-dev] [PATCH v8 0/9] 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" Hi, > -----Original Message----- > From: David Marchand > Sent: Monday, October 25, 2021 5:27 PM > To: hkalra@marvell.com; dev@dpdk.org > Cc: dmitry.kozliuk@gmail.com; Raslan Darawsheh ; > NBU-Contact-Thomas Monjalon > Subject: [PATCH v8 0/9] 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://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Furld > efense.proofpoint.com%2Fv2%2Furl%3Fu%3Dhttps- > 3A__docs.google.com_s&data=3D04%7C01%7Crasland%40nvidia.com%7C > c626e0d058714bc3075a08d997c39557%7C43083d15727340c1b7db39efd9ccc17 > a%7C0%7C0%7C637707688554493769%7CUnknown%7CTWFpbGZsb3d8eyJWI > joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1 > 000&sdata=3Dy7vFUXbUzh6ise1zn8bzbfuUGv6L24gCNcUsuWKqRBk%3D& > amp;reserved=3D0 > 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 > 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 > v1: > * Fixed freebsd compilation failure > * Fixed seg fault in case of memif >=20 > 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. >=20 > v3: > * Removed flag from instance alloc API, rather auto detect if memory shou= ld > be allocated using glibc malloc APIs or > rte_malloc* > * Added APIs for get/set windows handle. > * Defined macros for repeated checks. >=20 > v4: > * Rectified some typo in the APIs documentation. > * Better names for some internal variables. >=20 > v5: > * Reverted back to passing flag to instance alloc API, as with auto detec= t > some multiprocess issues existing in the library were causing tests failu= re. > * Rebased to top of tree. >=20 > v6: > * renamed RTE_INTR_INSTANCE_F_UNSHARED as > RTE_INTR_INSTANCE_F_PRIVATE, > * changed API and removed need for alloc_flag content exposure > (see rte_intr_instance_dup() in patch 1 and 2), > * exported all symbols for Windows, > * fixed leak in unit tests in case of alloc failure, > * split (previously) patch 4 into three patches > * (now) patch 4 only concerns alarm and (previously) patch 6 cleanup bi= ts > are squashed in it, > * (now) patch 5 concerns other libraries updates, > * (now) patch 6 concerns drivers updates: > * instance allocation is moved to probing for auxiliary, > * there might be a bug for PCI drivers non requesting > RTE_PCI_DRV_NEED_MAPPING, but code is left as v5, > * split (previously) patch 5 into three patches > * (now) patch 7 only hides structure, but keep it in a EAL private > header, this makes it possible to keep info in tracepoints, > * (now) patch 8 deals with VFIO/UIO internal fds merge, > * (now) patch 9 extends event list, >=20 > v7: > * fixed compilation on FreeBSD, > * removed unused interrupt handle in FreeBSD alarm code, > * fixed interrupt handle allocation for PCI drivers without > RTE_PCI_DRV_NEED_MAPPING, >=20 > v8: > * lowered logs level to DEBUG in sanity checks, > * fixed corner case with vector list access, >=20 > -- > David Marchand >=20 > Harman Kalra (9): > interrupts: add allocator and accessors > interrupts: remove direct access to interrupt handle > test/interrupts: remove direct access to interrupt handle > alarm: remove direct access to interrupt handle > lib: remove direct access to interrupt handle > drivers: remove direct access to interrupt handle > interrupts: make interrupt handle structure opaque > interrupts: rename device specific file descriptor > interrupts: extend event list >=20 > MAINTAINERS | 1 + > app/test/test_interrupts.c | 164 +++-- > drivers/baseband/acc100/rte_acc100_pmd.c | 14 +- > .../fpga_5gnr_fec/rte_fpga_5gnr_fec.c | 24 +- > drivers/baseband/fpga_lte_fec/fpga_lte_fec.c | 24 +- > drivers/bus/auxiliary/auxiliary_common.c | 17 +- > 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 | 14 +- > drivers/bus/fslmc/fslmc_vfio.c | 30 +- > drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 18 +- > drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 2 +- > drivers/bus/fslmc/rte_fslmc.h | 2 +- > drivers/bus/ifpga/ifpga_bus.c | 13 +- > drivers/bus/ifpga/rte_bus_ifpga.h | 2 +- > drivers/bus/pci/bsd/pci.c | 20 +- > drivers/bus/pci/linux/pci.c | 4 +- > drivers/bus/pci/linux/pci_uio.c | 69 +- > drivers/bus/pci/linux/pci_vfio.c | 108 ++- > drivers/bus/pci/pci_common.c | 47 +- > 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 | 35 +- > drivers/bus/vmbus/rte_bus_vmbus.h | 2 +- > drivers/bus/vmbus/vmbus_common_uio.c | 23 +- > drivers/common/cnxk/roc_cpt.c | 8 +- > drivers/common/cnxk/roc_dev.c | 14 +- > drivers/common/cnxk/roc_irq.c | 107 +-- > 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 | 48 +- > 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 | 21 +- > 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 | 108 ++- > drivers/net/memif/memif_socket.h | 4 +- > drivers/net/memif/rte_eth_memif.c | 56 +- > 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 | 55 +- > drivers/net/mlx5/linux/mlx5_socket.c | 25 +- > 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 | 25 +- > 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 | 33 +- > drivers/net/tap/rte_eth_tap.h | 2 +- > drivers/net/tap/tap_intr.c | 33 +- > drivers/net/thunderx/nicvf_ethdev.c | 10 + > 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 | 80 ++- > drivers/net/virtio/virtio_ethdev.c | 21 +- > .../net/virtio/virtio_user/virtio_user_dev.c | 56 +- > 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 | 8 + > drivers/vdpa/mlx5/mlx5_vdpa.h | 4 +- > drivers/vdpa/mlx5/mlx5_vdpa_event.c | 21 +- > drivers/vdpa/mlx5/mlx5_vdpa_virtq.c | 44 +- > lib/bbdev/rte_bbdev.c | 4 +- > lib/eal/common/eal_common_interrupts.c | 500 ++++++++++++++ > lib/eal/common/eal_interrupts.h | 30 + > lib/eal/common/eal_private.h | 10 + > lib/eal/common/meson.build | 1 + > lib/eal/freebsd/eal.c | 1 + > lib/eal/freebsd/eal_alarm.c | 35 +- > lib/eal/freebsd/eal_interrupts.c | 85 ++- > lib/eal/include/meson.build | 2 +- > lib/eal/include/rte_eal_interrupts.h | 269 -------- > lib/eal/include/rte_eal_trace.h | 10 +- > lib/eal/include/rte_epoll.h | 118 ++++ > lib/eal/include/rte_interrupts.h | 651 +++++++++++++++++- > lib/eal/linux/eal.c | 1 + > lib/eal/linux/eal_alarm.c | 32 +- > lib/eal/linux/eal_dev.c | 57 +- > lib/eal/linux/eal_interrupts.c | 304 ++++---- > lib/eal/version.map | 45 +- > lib/ethdev/ethdev_pci.h | 2 +- > lib/ethdev/rte_ethdev.c | 14 +- > 132 files changed, 3449 insertions(+), 1748 deletions(-) create mode 10= 0644 > lib/eal/common/eal_common_interrupts.c > create mode 100644 lib/eal/common/eal_interrupts.h delete mode 100644 > lib/eal/include/rte_eal_interrupts.h > create mode 100644 lib/eal/include/rte_epoll.h >=20 > -- > 2.23.0 Tested-by: Raslan Darawsheh Kindest regards, Raslan Darawsheh