From patchwork Thu Sep 23 08:11:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xueming(Steven) Li" X-Patchwork-Id: 99461 X-Patchwork-Delegate: thomas@monjalon.net 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 BA714A0C43; Thu, 23 Sep 2021 10:12:13 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F2C644124E; Thu, 23 Sep 2021 10:12:08 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2068.outbound.protection.outlook.com [40.107.243.68]) by mails.dpdk.org (Postfix) with ESMTP id EE8B64124C; Thu, 23 Sep 2021 10:12:06 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V8haOBX9Nj8d1ff4ZC45X20juHT4EySd/Dd3PmJWEyolRVdovVXuHI4OUtX8PoNGH4gb+zXAutBiKAdk31QTOIPlCQgGJd13fweNNQtUV+j7T4LhklLKeJQAOb/S+WSyoMu1c+jyKU2JUTR7vjTfmrRm6W9XHyKbWLY2E2GqoUrWCDMOGOUNjORthfm00S+gpJQcjxUImFVOXeLsrKW4XVGaloXSWMcvOBr3VQ3ITjfL0wE2yQWPk7/xU27PgCGZFuLxGLNBMTBT1+icr1yKhqIpFLht3JoikHvKrSRKvM3W9VssA++gGosoVVxpOhsiE9+90sF3Z348/1gOj9q1MA== 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=DUnEF16jVfE4RDoDWPKF4gUA4mCg4/7DLM2ZZgkap5c=; b=dxz2q4wK1JXlcioLzoOnE4gSY6TxMJOOo8wuGSOWU/OOpbRijqM4CyLmXdMCAPsYdd5cymBLwc4hcsf2t5bEGYyJ9lquiQhAcc1YNiiHMOsMaxhCcCrbfCXOa4J8XF3XJKlRgagm6/iC8g4Zc7AYhj0zhIFE+Iw67XpSDJOyylduk5NiNmoLzu0r518My1tXwION7vlTdYVUOZt/iSCm4KzClQ5qihew5X0zgGbZavfJ9ySeaGJ55LuYaYC7PsSF7u41VojQ1ZR1C/xqlGIIBhNywTsYaoF1JYtO5Ec8k5OVi+Fs0DzHzr36qs5vPSCm+ahBvjERp/INHZPCGF4PHQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine sp=none 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=DUnEF16jVfE4RDoDWPKF4gUA4mCg4/7DLM2ZZgkap5c=; b=dJX6oVm9iooYZG6EM6I0fPDRLtn7rZOfcbdAWOUB7Mj+uJVJnS95DGEVKH9bIkz+ejEHMnhxZpkFu0tvfBBajidbLF8yx5NHE/dqcNtpOWA+J8JU5S47Nu2OgwnjJ49M09YQqBzQV6q1pl+ul+AZgYySxboES1tlf9sM3jIHGXXHDR24vvJh67YjSv1XTaHwW0NRWLYbT9mPWCNZY0mrIlF4345rvbAZhZqsPSwDI5GN38GYfYgYPRvBXHE4K7eiYC+kkK0ruSrAvWfXOeeDn3Ds8F9+aUaakct7+6LWMdqlLH8WsEzazbiyujV9Z0Ib+ncBMyiECVZlhGNMD71O3Q== Received: from MW4PR04CA0137.namprd04.prod.outlook.com (2603:10b6:303:84::22) by MN2PR12MB4360.namprd12.prod.outlook.com (2603:10b6:208:266::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.14; Thu, 23 Sep 2021 08:12:05 +0000 Received: from CO1NAM11FT018.eop-nam11.prod.protection.outlook.com (2603:10b6:303:84:cafe::6e) by MW4PR04CA0137.outlook.office365.com (2603:10b6:303:84::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15 via Frontend Transport; Thu, 23 Sep 2021 08:12:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by CO1NAM11FT018.mail.protection.outlook.com (10.13.175.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4544.13 via Frontend Transport; Thu, 23 Sep 2021 08:12:04 +0000 Received: from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 23 Sep 2021 08:12:04 +0000 Received: from nvidia.com (172.20.187.6) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 23 Sep 2021 08:12:00 +0000 From: Xueming Li To: Matan Azrad , CC: , Kevin Traynor , , , Viacheslav Ovsiienko , Maxime Coquelin Date: Thu, 23 Sep 2021 16:11:22 +0800 Message-ID: <20210923081122.176735-3-xuemingl@nvidia.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210923081122.176735-1-xuemingl@nvidia.com> References: <32dc9e20-86dc-a0a6-74a2-9894cb680170@redhat.com> <20210923081122.176735-1-xuemingl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.6] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To DRHQMAIL107.nvidia.com (10.27.9.16) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cc1a1cf2-120e-409f-d9b2-08d97e69d440 X-MS-TrafficTypeDiagnostic: MN2PR12MB4360: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:486; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Gl3fGv9aUm0FBa/R8R6ObYcRy3NXzlpqaM3i8Kz7xIaadsbHRjF7IGsB3LRfIwjUPeTDLvJnhiMScRQ5iF+RZhdimYvus6aoTbybyLyI7qM6spQ0y565Q0W/VoR6RtvaKy/t3XQoHB7LE4Ii2/jWn23xRBq5sYyl6NbOX0mE0aHjwAZ3UpM3ESAFYKShm4Suqgn2CUnTzck+YaeW4oMnMfYedUQcpoTIPIt2/1XW8ut4Afa4GsPl+sqtH9Gmmjaeu9YPWgTo43W9n65YjbyFLNZNiPN2o4vcj5KStkPSxp5UW8cWgPlR10whuQ/wTebCx3tO7H//TLeyiK9mIT3A+3Ut78DVs/CPt4TwVuPnLGyRuK5OA3bFuqT3F1uZYhXxoyePd6LqIuWgz1XfDrV53YOaq3bHyua+Vh7fzAgoaPOl1TV9BWCaK53DnJG1bHcduciP3qn0Jdj3cyFcPCqgvb5qSYaGjsV2Y6YPmWkypQyMoBHIBQRwF4dnPChAHbuMinvRR0flLDBXmo2V5FlrxZEWgYJZMOtCnCnXuYQc9xyc4PSRYOUA+vx2UqfA2zUV/wfiHD2klSzlfgMfoYaFhRzaZsNYDKvaKtPoBjA6sYPQCmZAhXs6h9qNmsMADmAb7Fl5JZ7Jt78hvPm/epbjfoScDZbfbRdvAY73fIQTaPMTAXrFkkSC5VSYFrWcbokZezqC0bHPVehDTZjp6m2BSQ== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(46966006)(36840700001)(8676002)(55016002)(508600001)(16526019)(2906002)(6286002)(5660300002)(8936002)(86362001)(70586007)(70206006)(110136005)(54906003)(316002)(7696005)(36860700001)(426003)(186003)(26005)(7636003)(336012)(1076003)(36906005)(82310400003)(2616005)(356005)(36756003)(6666004)(4326008)(47076005)(83380400001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2021 08:12:04.6172 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cc1a1cf2-120e-409f-d9b2-08d97e69d440 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT018.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4360 Subject: [dpdk-dev] [PATCH v2 2/2] vdpa/mlx5: fix large VM memory region registration 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" When VM size larger than 4G(u32) and memory region larger than 4G, the 32 bits GCD function overflow and returned wrong value that resulted memory registration failed. This patch calls 64 bits GCD function to avoid overflow. Fixes: cc07a42da250 ("vdpa/mlx5: prepare memory regions") Cc: matan@mellanox.com Cc: stable@dpdk.org Reviewed-by: Matan Azrad Signed-off-by: Xueming Li --- drivers/vdpa/mlx5/mlx5_vdpa_mem.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_mem.c b/drivers/vdpa/mlx5/mlx5_vdpa_mem.c index 59ce4e891c..a06681b494 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa_mem.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa_mem.c @@ -103,15 +103,15 @@ mlx5_vdpa_vhost_mem_regions_prepare(int vid, uint8_t *mode, uint64_t *mem_size, size = mem->regions[i].guest_phys_addr - (mem->regions[i - 1].guest_phys_addr + mem->regions[i - 1].size); - *gcd = rte_get_gcd(*gcd, size); + *gcd = rte_get_gcd64(*gcd, size); klm_entries_num += KLM_NUM_MAX_ALIGN(size); } size = mem->regions[i].size; - *gcd = rte_get_gcd(*gcd, size); + *gcd = rte_get_gcd64(*gcd, size); klm_entries_num += KLM_NUM_MAX_ALIGN(size); } if (*gcd > MLX5_MAX_KLM_BYTE_COUNT) - *gcd = rte_get_gcd(*gcd, MLX5_MAX_KLM_BYTE_COUNT); + *gcd = rte_get_gcd64(*gcd, MLX5_MAX_KLM_BYTE_COUNT); if (!RTE_IS_POWER_OF_2(*gcd)) { uint64_t candidate_gcd = rte_align64prevpow2(*gcd);