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 DA409A0032 for ; Sat, 18 Jun 2022 11:03:25 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B47E242823; Sat, 18 Jun 2022 11:03:24 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2068.outbound.protection.outlook.com [40.107.92.68]) by mails.dpdk.org (Postfix) with ESMTP id 40FE0410DC; Sat, 18 Jun 2022 11:03:22 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QuJIjmo+PPbDsMGCQoM5jn2fR7KqzBMH1fNAUecBbSdEFmbVpjwGoj5+rJSscKDCz88kd/fJvOtld2LEWqrUAl0dnhLiRwZiC9d6F931XFYsIX1LZBDoiP4CaLdg4t9Q1UTOb4FNIXGbaj50qxxLz+3DsAB6HfSPKRyKRRY9ObvgUq0GMzu1OHRbsOTHNbB9BW+dv8Dj9EycRrWUxR4wDkEkP+EZu7Farqmr0jKSrQl6dUizcNARAWBiDeq2p2110CWJzVOXmZCAadMwOD+Tmj1I0mUWBkdhIrONg3+jaVTCKYF2n01guhgf59xGKX4ToW3r4OteXU/sPWkfdqcnNg== 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=GG4wZ4+91CgrJRoQZLRJHAqb9LEhkJw5ex5uNIydJdw=; b=gu+OGKBv5LcsmIhFvnWRtjk4z+E+0mvdYZRVOozjxs8Wb58mesf7KXZ2Xq5dGgYwF1fyH29BDYM9pUeKKqRyO3CxShB8cG6HJGUrVGzvutkiAkC/YxM+OrqZS7Z7shMtotkEdAEi0HbfEQnueJjCJW1NPAOaZhqEm0SAMwY9TA4bbZWGdsS33DjYLyGK18e3BTchxqgFy2zD/E3JWYaI/3hqoPJkYYuH2E3eptpzcZROgpPhv76lcFGZZTVrtWx8+S2McosFU9R8FDmiCIDhCgqofEWUsNF9cY9G2zGre1fWvAPLUHr8PmDn3FzNvejQpHQS+SkvEjI5sp8jYnOSSQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.238) smtp.rcpttodomain=monjalon.net 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=GG4wZ4+91CgrJRoQZLRJHAqb9LEhkJw5ex5uNIydJdw=; b=Frrmo3bNRgiaVN2hSQoBfCR66IKvd07wNNdHCSp760xcbcyxB8G/5P3sBLV0d0+a5pjF0kMuzzC9kDYCS4F2ISNb79sutHJiOkoevpTl9Djd8x68fu/w+TO9Ui+cZITKYU1XIIGU8/81xBJJu3GUWmq2qxlCtXGBcKXejZoYRkaCeH4EeK8AqZhqkqvY3n1Emi4PIdmqRM54AQftx9e2bXeIwVz1DNqBl4KeipTDA0WAAU3m2a0W6RovezNiD1Jd/srIJlgwzwJTU3FjSZyxaATGQ1M7DYkOiEK62wMRIn+Vy/UUalQjbI4si/DbBrTYCXqANVsgb0psCMJym0uCcg== Received: from CO1PR15CA0111.namprd15.prod.outlook.com (2603:10b6:101:21::31) by BYAPR12MB3048.namprd12.prod.outlook.com (2603:10b6:a03:ad::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.14; Sat, 18 Jun 2022 09:03:20 +0000 Received: from CO1NAM11FT008.eop-nam11.prod.protection.outlook.com (2603:10b6:101:21:cafe::10) by CO1PR15CA0111.outlook.office365.com (2603:10b6:101:21::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.19 via Frontend Transport; Sat, 18 Jun 2022 09:03:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.238) 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.238 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.238; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (12.22.5.238) by CO1NAM11FT008.mail.protection.outlook.com (10.13.175.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5353.14 via Frontend Transport; Sat, 18 Jun 2022 09:03:19 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL105.nvidia.com (10.27.9.14) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Sat, 18 Jun 2022 09:03:19 +0000 Received: from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Sat, 18 Jun 2022 02:03:15 -0700 From: Li Zhang To: , , , , Maxime Coquelin CC: , , , , Subject: [PATCH v4 01/15] vdpa/mlx5: fix usage of capability for max number of virtqs Date: Sat, 18 Jun 2022 12:02:44 +0300 Message-ID: <20220618090258.91157-2-lizh@nvidia.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220618090258.91157-1-lizh@nvidia.com> References: <20220408075606.33056-1-lizh@nvidia.com> <20220618090258.91157-1-lizh@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f15363b6-177b-4f76-9bfb-08da510963e1 X-MS-TrafficTypeDiagnostic: BYAPR12MB3048:EE_ X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr 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: H0d4JHSTP2k769bulumZi801FpRfPxu9PqVMRxUMvFTxv8yckqJVRhYOzZptgy76V+uab6UCirtICVvRSljp08JIEVMZUgZcbI2Mvv8y4v8papddg4N4ZAfecU0BMwjte/oNd8q1m1ddjS7ZKyE8+0Am5y39FBsFmCanflahDEWryKWyj1aUr9GoB2TzDaB2LshEGnTUMdK+1fklyGzj1sP/ZFYMRI1D3gnqhYvoOWAER0QPXaSpLW7wZSHwXEEjyWUYL0QvVZtkSIiXAna/ApWg9jw57BsbFQN9UELrCVJh55rS31q+z8Qt2UUkbpjnidlHf9bFSmEDubJ1CMIusKBAE4VQNklhyfWICBD0EzdfTVi2PG21NEj2LwnOcLCT40pYLqetxoaFVykTP8mMUk4n9XfWDaOAgPh26hsUzk7TVVdMVsQf+IRcmWsGMz1tWkHK/enQ0yHiFdaK/XeFgI2uzIYlwt64Q5hSXO/Eg6eJHYHtH3g2XY5aPmc6MJ7AjbZTGdVFuLvqxudDMG8I1Mz4B+4Lb/cBm8Cn4obFurm+ESh25N4GFj6VvUTrgk29WAZ7Nuq0GMRo3fCT/4x0sF3CDP1rCIu8GBjNMyrYcjZ6xzrOHPuQkPCZK+1AoGny0Tc7y5Ml02lrkGbXjilRcSInyTxN6rj/YxDdeybfx7Upi2TaNZ9HC7WYMHASmdr4LVje1b8181MUvGGhkL3b+g== X-Forefront-Antispam-Report: CIP:12.22.5.238; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230016)(4636009)(36840700001)(46966006)(40470700004)(36756003)(6286002)(81166007)(316002)(36860700001)(54906003)(16526019)(1076003)(356005)(6666004)(186003)(40460700003)(2906002)(82310400005)(26005)(110136005)(70586007)(70206006)(2616005)(5660300002)(498600001)(7696005)(55016003)(47076005)(4326008)(8936002)(86362001)(426003)(83380400001)(336012)(8676002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2022 09:03:19.7382 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f15363b6-177b-4f76-9bfb-08da510963e1 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.238]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT008.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3048 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org The driver wrongly takes the capability value for the number of virtq pairs instead of just the number of virtqs. Adjust all the usages of it to be the number of virtqs. Fixes: c2eb33a ("vdpa/mlx5: manage virtqs by array") Cc: stable@dpdk.org Signed-off-by: Li Zhang Acked-by: Matan Azrad Reviewed-by: Maxime Coquelin --- drivers/vdpa/mlx5/mlx5_vdpa.c | 12 ++++++------ drivers/vdpa/mlx5/mlx5_vdpa_virtq.c | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c index 76fa5d4299..ee71339b78 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa.c @@ -84,7 +84,7 @@ mlx5_vdpa_get_queue_num(struct rte_vdpa_device *vdev, uint32_t *queue_num) DRV_LOG(ERR, "Invalid vDPA device: %s.", vdev->device->name); return -1; } - *queue_num = priv->caps.max_num_virtio_queues; + *queue_num = priv->caps.max_num_virtio_queues / 2; return 0; } @@ -141,7 +141,7 @@ mlx5_vdpa_set_vring_state(int vid, int vring, int state) DRV_LOG(ERR, "Invalid vDPA device: %s.", vdev->device->name); return -EINVAL; } - if (vring >= (int)priv->caps.max_num_virtio_queues * 2) { + if (vring >= (int)priv->caps.max_num_virtio_queues) { DRV_LOG(ERR, "Too big vring id: %d.", vring); return -E2BIG; } @@ -388,7 +388,7 @@ mlx5_vdpa_get_stats(struct rte_vdpa_device *vdev, int qid, DRV_LOG(ERR, "Invalid device: %s.", vdev->device->name); return -ENODEV; } - if (qid >= (int)priv->caps.max_num_virtio_queues * 2) { + if (qid >= (int)priv->caps.max_num_virtio_queues) { DRV_LOG(ERR, "Too big vring id: %d for device %s.", qid, vdev->device->name); return -E2BIG; @@ -411,7 +411,7 @@ mlx5_vdpa_reset_stats(struct rte_vdpa_device *vdev, int qid) DRV_LOG(ERR, "Invalid device: %s.", vdev->device->name); return -ENODEV; } - if (qid >= (int)priv->caps.max_num_virtio_queues * 2) { + if (qid >= (int)priv->caps.max_num_virtio_queues) { DRV_LOG(ERR, "Too big vring id: %d for device %s.", qid, vdev->device->name); return -E2BIG; @@ -624,7 +624,7 @@ mlx5_vdpa_dev_probe(struct mlx5_common_device *cdev, DRV_LOG(DEBUG, "No capability to support virtq statistics."); priv = rte_zmalloc("mlx5 vDPA device private", sizeof(*priv) + sizeof(struct mlx5_vdpa_virtq) * - attr->vdpa.max_num_virtio_queues * 2, + attr->vdpa.max_num_virtio_queues, RTE_CACHE_LINE_SIZE); if (!priv) { DRV_LOG(ERR, "Failed to allocate private memory."); @@ -685,7 +685,7 @@ mlx5_vdpa_release_dev_resources(struct mlx5_vdpa_priv *priv) uint32_t i; mlx5_vdpa_dev_cache_clean(priv); - for (i = 0; i < priv->caps.max_num_virtio_queues * 2; i++) { + for (i = 0; i < priv->caps.max_num_virtio_queues; i++) { if (!priv->virtqs[i].counters) continue; claim_zero(mlx5_devx_cmd_destroy(priv->virtqs[i].counters)); diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c b/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c index e025be47d2..c258eb3024 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c @@ -72,7 +72,7 @@ mlx5_vdpa_virtqs_cleanup(struct mlx5_vdpa_priv *priv) { unsigned int i, j; - for (i = 0; i < priv->caps.max_num_virtio_queues * 2; i++) { + for (i = 0; i < priv->caps.max_num_virtio_queues; i++) { struct mlx5_vdpa_virtq *virtq = &priv->virtqs[i]; for (j = 0; j < RTE_DIM(virtq->umems); ++j) { @@ -492,9 +492,9 @@ mlx5_vdpa_virtqs_prepare(struct mlx5_vdpa_priv *priv) DRV_LOG(INFO, "TSO is enabled without CSUM, force CSUM."); priv->features |= (1ULL << VIRTIO_NET_F_CSUM); } - if (nr_vring > priv->caps.max_num_virtio_queues * 2) { + if (nr_vring > priv->caps.max_num_virtio_queues) { DRV_LOG(ERR, "Do not support more than %d virtqs(%d).", - (int)priv->caps.max_num_virtio_queues * 2, + (int)priv->caps.max_num_virtio_queues, (int)nr_vring); return -1; } -- 2.31.1