From patchwork Mon Feb 21 19:29:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 107909 X-Patchwork-Delegate: rasland@nvidia.com 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 41BAFA034F; Mon, 21 Feb 2022 20:29:52 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3F34F4115B; Mon, 21 Feb 2022 20:29:35 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2052.outbound.protection.outlook.com [40.107.237.52]) by mails.dpdk.org (Postfix) with ESMTP id 4B9F24115B for ; Mon, 21 Feb 2022 20:29:34 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hrb3Os6PeyJ+H9GjY8MrfGciSt/v+tQC9GM4bCTkX5Bq4id+C04U76+TFzEBOh5EygmG/I88FEEA2/u4FdEDMuF2gwV7W2D3GZ5pd21fbDfgzNpAHCTQFxCkoBlpHEold7VVWEZpxpLj2zzn4PyX6sBHW+xl2m7RgzvpDysREPCmO0F3fH1VbmQk6gFYqFg36DgGZjjA+iPv63xA/1hvqskDikDj76GB6lWLrHWroVNobqx2rMP5Gwq03BKv+259GqWKYWjM5+ZsZQRxdsNEgPusPS0yEUnbhzOx1m/qgelul0H8gF39Rqd+JUwNeQdhUR6nIJxZAVa2VjGs4Jw+gA== 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=PjgMlp28+a/7pg0TKW4GxD2zFOAtiF+Qg+guK/rBC14=; b=MIT5QOzUQefxSwfkdp0tlmB6uUDJJa5EFMgFFpQcuPTQBJIuapb+fDI+sYKC6YMtw7ngUcSNUieoMcGNRZ25ofd7QMoaK9/K3K7KRpZPDbFvC/AQBhHtdJ2Anl3qtvFBCOEPK5GJrCrrAs1oBnVIMiHnaluXIJTW4RlYs7FOWHv297pB3ECEvncxMM4pCddYt0pO8QaD3eVXVZ4FDSdnTQF1tHyaX0rPp8yepiqoAs95HhzdxrsEJvv4zCjtsKPGJNoX8iuBCJgFiBTo2WGx48X5TxlqSEMefJ8Q8i6Pb2QK6wQqZfWVgoEOwTnG463Hes8YXKtJt+vGuKdRioXesA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.234) 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=PjgMlp28+a/7pg0TKW4GxD2zFOAtiF+Qg+guK/rBC14=; b=dCl3AWWqReUTsM5+Kbt3dHnuV/3rzfuuLQR8VK5b47In2k0kNwb92niQ3lS2ytPPgk2OBY2/SzpzBMk0R0VAiOWrWeqsmLb4Z+byqLUz99rDq/hfID13jgoSbqxMx7Dcpt8G1xMFxcXdz6OzaOnNSZZXD1dA+MAmt4Zb+aK6kSAyEUX9/yyHtERRmwIXAiWxipYbRimGeVlUDdu/jZwWx9dsVL17Z8iz6ZqTvZ2Vrf8qRqK0I/36i54c2cyI2LAvVI4iVuUAVgcTEchDU3bxVEhlAXRfnyYUD70o1qS2fcEz7nWZVZALtTCUhoxDolC8Zs1FBUWvl3uGtP/bOurqdA== Received: from BN0PR04CA0003.namprd04.prod.outlook.com (2603:10b6:408:ee::8) by CH2PR12MB5562.namprd12.prod.outlook.com (2603:10b6:610:67::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Mon, 21 Feb 2022 19:29:32 +0000 Received: from BN8NAM11FT005.eop-nam11.prod.protection.outlook.com (2603:10b6:408:ee:cafe::3e) by BN0PR04CA0003.outlook.office365.com (2603:10b6:408:ee::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.17 via Frontend Transport; Mon, 21 Feb 2022 19:29:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.234) 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.234 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.234; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.234) by BN8NAM11FT005.mail.protection.outlook.com (10.13.176.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4995.15 via Frontend Transport; Mon, 21 Feb 2022 19:29:31 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by DRHQMAIL101.nvidia.com (10.27.9.10) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Mon, 21 Feb 2022 19:29:31 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9; Mon, 21 Feb 2022 11:29:30 -0800 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9 via Frontend Transport; Mon, 21 Feb 2022 11:29:29 -0800 From: Michael Baum To: CC: Matan Azrad , Viacheslav Ovsiienko Subject: [PATCH 20.11 4/5] net/mlx5: fix memory socket selection in ASO management Date: Mon, 21 Feb 2022 21:29:17 +0200 Message-ID: <20220221192918.2455579-5-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220221192918.2455579-1-michaelba@nvidia.com> References: <20220221192918.2455579-1-michaelba@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9355f42a-439d-46c2-33cb-08d9f5707c7c X-MS-TrafficTypeDiagnostic: CH2PR12MB5562:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gmlryiDBvJNxGIAnIV8F8rKB/IZ38gHFcQUUt+jEzegJ33Aixw7SdlWR4lKd15sjEs1vsSuYmKjjhEx0uy0qxRfvun1Rrt+o3s4VLlCap9ZqFW4XcsyfoFuVkr3EG/9hpaR2i6bYWzcHhvpOd5e9MFxDjuBHPfCb7JbPg2DcCfC0KnNuNu5/Uv/81t7RJ1BccvNj65PSvYXeJWlYUtF9daMkHehREkrz2U591pV9qFGjSYsmTLKWSrI92lF3tCUB5B231K1taPT2Uok+wh6ZZDcLRM8Jwc/rlxNPYbuODqtjTuuJPNznbiXhkybOM9u5/tk/m48bLHFXxkLzYznAxoO9ovSIBtvAJ65TGLIrdgmiVtzshOuaM6TVxxo96DNQAoOyzNQkV9lVmeNvgmY7pzy0PCoSIQbtt0TvwjJiLRXmCUI4VMvxWLDYpfNmpVJrV0Z6sXeIWfuhzRSqh9an4u3eS0kpmjzwWRpvBHtYEI2r7h8bWzfPmZfkksQm45ujKNLRNAJNx4BmsCilC9/S4OATpG0LlvSPUlWj0KTNff0wSJf9wDIkArp0G8GgWbrAjMDddKgA8IyjXRvv9s5WJQo0CS1tho7/z6FMi2pxY922J1tGB1XAehwaHhJLq1rP5rPi2txDeEuERcc0wqu0Fj4yptfhEN4O9bQkmPBGWbe01dQLZiWuHF1ArkeW4og4NG+GB0yso2/2MAqU1pDvwQ== X-Forefront-Antispam-Report: CIP:12.22.5.234; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(36840700001)(46966006)(40470700004)(36756003)(426003)(107886003)(8676002)(82310400004)(2906002)(1076003)(86362001)(26005)(70586007)(6286002)(5660300002)(336012)(186003)(6666004)(2616005)(508600001)(7696005)(4326008)(81166007)(70206006)(356005)(8936002)(83380400001)(47076005)(6916009)(36860700001)(316002)(55016003)(54906003)(40460700003)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2022 19:29:31.9542 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9355f42a-439d-46c2-33cb-08d9f5707c7c 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.234]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT005.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB5562 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 [ upstream commit 147f6fb42bd7637b37a9180b0774275531c05f9b ] In ASO objects creation (WQE, CQE and MR), socket number is given as a parameter. The selection was wrongly socket 0 hardcoded even if the user didn't configure memory for this socket. This patch replaces the selection to default socket (SOCKET_ID_ANY). Fixes: f935ed4b645a ("net/mlx5: support flow hit action for aging") Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_flow_age.c | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_age.c b/drivers/net/mlx5/mlx5_flow_age.c index 6c4ee0d33c..b1669786ad 100644 --- a/drivers/net/mlx5/mlx5_flow_age.c +++ b/drivers/net/mlx5/mlx5_flow_age.c @@ -38,8 +38,6 @@ mlx5_aso_cq_destroy(struct mlx5_aso_cq *cq) * Pointer to CQ to create. * @param[in] log_desc_n * Log of number of descriptors in queue. - * @param[in] socket - * Socket to use for allocation. * @param[in] uar_page_id * UAR page ID to use. * @param[in] eqn @@ -50,7 +48,7 @@ mlx5_aso_cq_destroy(struct mlx5_aso_cq *cq) */ static int mlx5_aso_cq_create(void *ctx, struct mlx5_aso_cq *cq, uint16_t log_desc_n, - int socket, int uar_page_id, uint32_t eqn) + int uar_page_id, uint32_t eqn) { struct mlx5_devx_cq_attr attr = { 0 }; size_t pgsize = sysconf(_SC_PAGESIZE); @@ -60,7 +58,7 @@ mlx5_aso_cq_create(void *ctx, struct mlx5_aso_cq *cq, uint16_t log_desc_n, cq->log_desc_n = log_desc_n; umem_size = sizeof(struct mlx5_cqe) * cq_size + sizeof(*cq->db_rec) * 2; cq->umem_buf = mlx5_malloc(MLX5_MEM_RTE | MLX5_MEM_ZERO, umem_size, - 4096, socket); + 4096, SOCKET_ID_ANY); if (!cq->umem_buf) { DRV_LOG(ERR, "Failed to allocate memory for CQ."); rte_errno = ENOMEM; @@ -123,8 +121,6 @@ mlx5_aso_devx_dereg_mr(struct mlx5_aso_devx_mr *mr) * Size of MR buffer. * @param[in/out] mr * Pointer to MR to create. - * @param[in] socket - * Socket to use for allocation. * @param[in] pdn * Protection Domain number to use. * @@ -133,12 +129,12 @@ mlx5_aso_devx_dereg_mr(struct mlx5_aso_devx_mr *mr) */ static int mlx5_aso_devx_reg_mr(void *ctx, size_t length, struct mlx5_aso_devx_mr *mr, - int socket, int pdn) + int pdn) { struct mlx5_devx_mkey_attr mkey_attr; mr->buf = mlx5_malloc(MLX5_MEM_RTE | MLX5_MEM_ZERO, length, 4096, - socket); + SOCKET_ID_ANY); if (!mr->buf) { DRV_LOG(ERR, "Failed to create ASO bits mem for MR by Devx."); return -1; @@ -240,8 +236,6 @@ mlx5_aso_init_sq(struct mlx5_aso_sq *sq) * Context returned from mlx5 open_device() glue function. * @param[in/out] sq * Pointer to SQ to create. - * @param[in] socket - * Socket to use for allocation. * @param[in] uar * User Access Region object. * @param[in] pdn @@ -255,7 +249,7 @@ mlx5_aso_init_sq(struct mlx5_aso_sq *sq) * 0 on success, a negative errno value otherwise and rte_errno is set. */ static int -mlx5_aso_sq_create(void *ctx, struct mlx5_aso_sq *sq, int socket, +mlx5_aso_sq_create(void *ctx, struct mlx5_aso_sq *sq, struct mlx5dv_devx_uar *uar, uint32_t pdn, uint32_t eqn, uint16_t log_desc_n, uint32_t ts_format) { @@ -268,14 +262,15 @@ mlx5_aso_sq_create(void *ctx, struct mlx5_aso_sq *sq, int socket, int ret; if (mlx5_aso_devx_reg_mr(ctx, (MLX5_ASO_AGE_ACTIONS_PER_POOL / 8) * - sq_desc_n, &sq->mr, socket, pdn)) + sq_desc_n, &sq->mr, pdn)) return -1; - if (mlx5_aso_cq_create(ctx, &sq->cq, log_desc_n, socket, + if (mlx5_aso_cq_create(ctx, &sq->cq, log_desc_n, mlx5_os_get_devx_uar_page_id(uar), eqn)) goto error; sq->log_desc_n = log_desc_n; - sq->umem_buf = mlx5_malloc(MLX5_MEM_RTE | MLX5_MEM_ZERO, wq_size + - sizeof(*sq->db_rec) * 2, 4096, socket); + sq->umem_buf = mlx5_malloc(MLX5_MEM_RTE | MLX5_MEM_ZERO, + wq_size + sizeof(*sq->db_rec) * 2, + 4096, SOCKET_ID_ANY); if (!sq->umem_buf) { DRV_LOG(ERR, "Can't allocate wqe buffer."); rte_errno = ENOMEM; @@ -347,7 +342,7 @@ mlx5_aso_sq_create(void *ctx, struct mlx5_aso_sq *sq, int socket, int mlx5_aso_queue_init(struct mlx5_dev_ctx_shared *sh) { - return mlx5_aso_sq_create(sh->ctx, &sh->aso_age_mng->aso_sq, 0, + return mlx5_aso_sq_create(sh->ctx, &sh->aso_age_mng->aso_sq, sh->tx_uar, sh->pdn, sh->eqn, MLX5_ASO_QUEUE_LOG_DESC, sh->sq_ts_format); }