From patchwork Sun Jan 2 07:06:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 105543 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C9251A0093; Sun, 2 Jan 2022 08:07:03 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 556B340698; Sun, 2 Jan 2022 08:07:03 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2058.outbound.protection.outlook.com [40.107.237.58]) by mails.dpdk.org (Postfix) with ESMTP id 333E34067E for ; Sun, 2 Jan 2022 08:07:02 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TthXXPp2Gek5onIJM8oHCdEawDIC9pjbMAoiWQpCx5EATcgsyelqHEztCAV0pc1Tlgh6m11LYFP86buFlV4dBFTEE6Dc7UJ/wI+3Tn6TWuoFCo7D3PrCVnzXQH8lVZLYlCvjX32P8XrsDO7HnqphIQ3rmGr1VkBqGVaL23wT12/1RYpkTbmhcIk2hczD4Tn46riRp9cSkpAq3QatI6CTAO8OhMKm+1Zf+FFPUqBJBOFDxS9pljzGIVAR8jdLODctX0beJq6nZC6skMQvuAvTiub1ucMGlX7sybSahGFYVpoUqkwAz/9dXpFeKW/XiQon+2RAuB9TX5WfznkKLIGiIA== 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=+E8bOeaOmucNUKZTmX2C4PBmvqwJySXTTlDvp2NQkOg=; b=OZx57zcLB2B84oPUpb0YRBaVw6ueZ2gEnckiexMlUv00OD7SdtvcH+tBjV6ozpv7qZpkYGkWFbLSkpW1Hmtgn2KwEP86CVqETfxdvpZHtaWHa5Fu6M5gJ18HEb2OQy9i+GjDGSEMe1RmJ6o8wCjZsBTetWY/YeoE1V8Y8EoziWBEBSxHa9xq4roPE96faxvyOWKt+jSpSelALmip7XDFSlmMx/NdGS66ZeMlShMsHJxgjbgqRUV7f4frWjq6aJ6B+n5thQf9Tp0WRTywdvOuRdmeE949CcCw54Clei/41EdYT0xRRYzm2VQ6/u746n2MjCDbm4x3w9NaDlU9EPcRnQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.235) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); 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=+E8bOeaOmucNUKZTmX2C4PBmvqwJySXTTlDvp2NQkOg=; b=A8ZFLEE6vfjzRNsWFO9GX/VVMVEUu+I15CfRkEBZhvyWkuwaWxSh/9lbcz99NoU0jP95ej1sXGSqtI1DHhIsrDjf+ytkNIu8J897fl+C0srJEL7jsaYGDKIdchqxwsyKmsXHDvKRGVEhgb0JhNs7nGyrN8UwaHdgCS3KmLIKpwfPbthkZxPCFmYwUS9/QtXmJz9tz7uLn5akJVWrKYwC27SSS3o4CuEqn5V+0yiyWHZAJmAoR+aJI+EaBRXqGlpMbJObHmfNHvnqxv4OxhU2KyXISMzHDb98qiYjBhIPW96KSsb+RT0f/fzly1q0yzrB93VFxIIijJVi30tQkuyk/g== Received: from DM5PR11CA0004.namprd11.prod.outlook.com (2603:10b6:3:115::14) by BY5PR12MB3844.namprd12.prod.outlook.com (2603:10b6:a03:1ad::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.14; Sun, 2 Jan 2022 07:06:58 +0000 Received: from DM6NAM11FT060.eop-nam11.prod.protection.outlook.com (2603:10b6:3:115:cafe::48) by DM5PR11CA0004.outlook.office365.com (2603:10b6:3:115::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.14 via Frontend Transport; Sun, 2 Jan 2022 07:06:58 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.235) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.235 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.235; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.235) by DM6NAM11FT060.mail.protection.outlook.com (10.13.173.63) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4844.14 via Frontend Transport; Sun, 2 Jan 2022 07:06:58 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Sun, 2 Jan 2022 07:06:57 +0000 Received: from nvidia.com (172.20.187.6) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.986.9; Sat, 1 Jan 2022 23:06:55 -0800 From: To: CC: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko , Michael Baum Subject: [RFC 0/3] net/mlx5: add external RxQ support Date: Sun, 2 Jan 2022 09:06:35 +0200 Message-ID: <20220102070638.2211160-1-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Originating-IP: [172.20.187.6] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1ca4ee73-b087-43cf-4b41-08d9cdbe77b1 X-MS-TrafficTypeDiagnostic: BY5PR12MB3844:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8Q1G0E0ekCDkyNievIO5W9saw/Rnj7JvJEoRonHnvoVXKKSx6Rli5pyIa6s+Vt03YE0Kd8PbOERLfB++6hEB0ECspBVPNNczgUDUegE0YBip5Nk6vwWRuaT5n2p48g8cDbbyAE8h3CuNbSbtcQodXQnPWOb+RO7AfZeTxdmVO4sme2bqQRupDyfUkwn6upd1ucEW7MgaARQ+G0Wtrg1SG0tN/OEoHUbJ2h741qz6j8h/qb6jXmSzXcGpOfS1CnieY6fNXBthmkPDMwHZaReN0SZQmeXdt2lv0UWp/lkCyui4awaqFSrEapT1i2UUflr7SV50BijGGxLawcxJBXoeMA4vcR2on+iX0H8lF63a8DaNE+Kqx5kT9kKNMDB/kbyoEFfMHNeAUECwI2TYrUY+OwEqXZ9jCqR2LOmq9+FgXRI0EX156+3NCsOChlETheVvgNF3JjxGdS+x5Ize5xZ//gJskBy8JsCqA15aoYZ/xPHFwHr65kyKFwhCT/4jijr2Tl50IR3Xa4rRtaN5vNfuE0Ucq5L/MDSpeE9uhO1eA0pKjLTKMGr2Svn2Zc0uF10DHarn9UQYlscLT/+rLMxBI62w6ysSm12nV/LAc33BIZnzgey1XsNSQcJiHbFakB4ljSDvQHSj3qhuCmvfKV/bAczEPwe5uH76QkNmeeBKTWqLqaOXKRSUbpqohGxN5gtKBMyDYt00uO6NN1zTXCdhMNEvYmxiKCY7aFVvelI0XnlqzJkEbF2aJip0rm/ybD6iEzexjwgqcq6aRuXkakp4TNoiDYXs147RBREqwxfF6XY= X-Forefront-Antispam-Report: CIP:12.22.5.235; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(4636009)(40470700002)(36840700001)(46966006)(316002)(83380400001)(356005)(81166007)(107886003)(2906002)(86362001)(26005)(2616005)(36756003)(426003)(6666004)(508600001)(5660300002)(70586007)(8676002)(54906003)(36860700001)(40460700001)(6286002)(16526019)(336012)(82310400004)(6916009)(186003)(7696005)(8936002)(47076005)(70206006)(55016003)(2876002)(1076003)(4326008)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2022 07:06:58.4130 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1ca4ee73-b087-43cf-4b41-08d9cdbe77b1 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.235]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT060.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB3844 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 From: Michael Baum These patches add support to external Rx queues. External queue is a queue that is managed by a process external to DPDK, but uses DPDK process to generate its flow rules. For the hardware to allow the DPDK process to set rules for it, the process needs to use the same PD of the external process. In addition, the indexes of the queues in hardware are represented by 32-bit compared to the rte_flow indexes represented by 16-bit, so the processes need to share some mapping between the indexes. These patches allow the external process to provide devargs which enable importing its context and PD, instead of prepare new ones. In addition, an API is provided for mapping for the indexes of the queues. Michael Baum (3): common/mlx5: glue device and PD importation common/mlx5: add shared PD support net/mlx5: add external Rx queue drivers/common/mlx5/linux/mlx5_common_os.c | 160 +++++++++++++++++-- drivers/common/mlx5/linux/mlx5_common_os.h | 6 - drivers/common/mlx5/linux/mlx5_glue.c | 21 +++ drivers/common/mlx5/linux/mlx5_glue.h | 4 + drivers/common/mlx5/mlx5_common.c | 32 ++-- drivers/common/mlx5/mlx5_common.h | 6 +- drivers/common/mlx5/windows/mlx5_common_os.c | 29 +++- drivers/common/mlx5/windows/mlx5_common_os.h | 1 - drivers/net/mlx5/mlx5_rx.h | 6 + drivers/net/mlx5/rte_pmd_mlx5.h | 45 ++++++ 10 files changed, 272 insertions(+), 38 deletions(-)