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 EC74BA034D for ; Wed, 23 Feb 2022 07:26:35 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DD8EB41150; Wed, 23 Feb 2022 07:26:35 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) by mails.dpdk.org (Postfix) with ESMTP id 2C89540DF6; Wed, 23 Feb 2022 07:26:33 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MGl90RVh3j2E37gEEB7mnt8swhbqHrYrPUuYkmxNV/md2+HzVgFmmbwfsxbUGV5j/kvEv0xZfEvXfJoOCXLomUKGcq4e1LG6UJsw5Cs2fB32+bHVzJnR5jlJChGTd36hmmagCiW6eMiLS9EKCsKyxjB5Z/Mf9E7uVjx86eWugpqLVQjsMieuf+d/uZZ40l7DBaOKMYLDC7hMTQjXrS2xxY1Eq+eeP+VAq7Ypj3N39Az+Q7oxbE4OYDsIQ3cTBj0H2yrT/FLhl/tWNijx6PXoq8T6mvUY6/DZbHq1+l+01fqGqkUlWQcU1BYhp25uSnNAYd1SDZ5BK5PmJ8VWrHC1Cg== 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=5pU4mwUqNq8MAgS8R013WB39MEdc27EaVg1KVm/2KR8=; b=DC6grXVBXvHwi+pRUJiWjD4Pe2ikLD8tK90dgQmTWQlRPhnekP05Z5TtdSYXxNyijxcZJyvhvhfNxRqNw/5KW8vXGzvUu6oWlqJiRTBpRv97sGOIvPrWlHqFX12HUzllbWbfpKFdm8t0tLMdCKN1/wfDMwOpJFgk6HbwAatgKiHl2qdqJh455+K90BCZmz8Q+WqQ5eky8ipZJcEKcVatGFdzb/nLEgaZnQ7BbLVM+sG4AvPxRB+F9CikgiwRAO1+WZomsdhbzD9RTrbduOIIASAv4d2WbT3T0IiL4h+ju9gbisHNHPqv0tR4qOAi60j7N2Wi5YjtFR5pv0+iKHiiwQ== 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=5pU4mwUqNq8MAgS8R013WB39MEdc27EaVg1KVm/2KR8=; b=oWReK58e55f+GU7/Pi5W/wWejQZLMU1q/yi/d0CFTSVYq/ObeWm2/J9sZHjfNwQ9LVlsmr57silVrIjvu9R+/YLWe5rrm1UF0F08nt1EY7uWc4xGdK5gxFcUgHgGx38uG6cOXqQJOt+54BkGAVpigBxxfXvap5LH7tco19t6kgiTHhs1qYmbg4Epj/UFYKaV/T4Mr+r3WOttVNAFKH6F8iaE3BRhmGyaEtYC01rs+6KIpOTg3GfsHtJIhjw5HnHzCqBhfnAU9+CWvCUpZ5/VIoIlbUNUlu3eKXCSBIoLIyej70Z/sxRWyfhzhBDmImLP8FsCOf31AVi0njBWaC7F5g== Received: from BN9P222CA0029.NAMP222.PROD.OUTLOOK.COM (2603:10b6:408:10c::34) by DM5PR12MB2408.namprd12.prod.outlook.com (2603:10b6:4:b9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Wed, 23 Feb 2022 06:26:31 +0000 Received: from BN8NAM11FT061.eop-nam11.prod.protection.outlook.com (2603:10b6:408:10c:cafe::9e) by BN9P222CA0029.outlook.office365.com (2603:10b6:408:10c::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.21 via Frontend Transport; Wed, 23 Feb 2022 06:26:31 +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 BN8NAM11FT061.mail.protection.outlook.com (10.13.177.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5017.22 via Frontend Transport; Wed, 23 Feb 2022 06:26:31 +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; Wed, 23 Feb 2022 06:26:30 +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.9; Tue, 22 Feb 2022 22:26:27 -0800 From: Suanming Mou To: , CC: , , Subject: [PATCH] net/mlx5: fix indexed pool fetch overlap issue Date: Wed, 23 Feb 2022 08:26:11 +0200 Message-ID: <20220223062611.23062-1-suanmingm@nvidia.com> X-Mailer: git-send-email 2.18.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f150172b-0002-4448-e188-08d9f6956e66 X-MS-TrafficTypeDiagnostic: DM5PR12MB2408: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: X9F4VvdX6+eSMP8VCtZfoLr9FYoYmLhA95Qr9CWKppeUEICqKXwy72kD/T5Em7UvniEI9d6M4yKEos4YvPmQrivIg1BDUZl/yLdQqqsG+9dUuorkWQdWym/Afcc/qwjJG1/AD8oui3xUYtsJze1HqgZ0hqNWc6O2MKUvbBEGGwzLr2Ib7Z9jHBirz3ZqhCqPmJtn/xcJ0virOuHr52BP6Fj8UzqWzqBf8TaIOShBRnuvfE7iETP+IejnjXqAol40PfGgUFnnAYGoLliXGlUCVkYyGjKVWXq9HsL6c6+FwRX60AfVojvoBWb8EP0FcLdnJkAeLC2gKIg/VO27r8q6ficnTywpcvxYMKuEMR8RqHfLBgClQzgobnNZo4ukyDlO6U8QO9ETtCEeg5GHm2zCrrO6PA1CFam6ulQY+Sg/v05Cwo2QLyEOOci4KJJ2mBHztx/Apk3UxnKlsM7dGuFx77+Tfhi+ZwFk9tVlRjnJVNUZP4o9glQBkU8DK6TYm+k3vkuEsMYsZm+r8NBZHR6cPztUnQkKL8gsjWDAPvIQEYil/lQdVaHP3la/uPvv6unB+3MYHSRjkkr1c7gcuaqOTDVoUdKWTS4TIAgIMf57uLtltlvdebiv6iKNOPI+17g2AGBjQT0UwuGqFbjLaZpsWV+tKLGgeXFCnBFbyNfX7AAefUBPq/ygEsZnVlYBkVNbpo/aH8igbal5mJP1je7ZNA== 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:(13230001)(4636009)(36840700001)(40470700004)(46966006)(5660300002)(81166007)(2906002)(356005)(86362001)(40460700003)(55016003)(8936002)(6666004)(82310400004)(7696005)(426003)(336012)(47076005)(70206006)(508600001)(36860700001)(450100002)(16526019)(1076003)(110136005)(70586007)(186003)(26005)(8676002)(36756003)(6286002)(2616005)(316002)(4326008)(54906003)(6636002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 06:26:31.0557 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f150172b-0002-4448-e188-08d9f6956e66 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: BN8NAM11FT061.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB2408 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 For indexed pool with local cache, when a new trunk is allocated, half of the trunk's index was fetched to the local cache. In case of local cache size was less then half of the trunk size, memory overlap happened. This commit adds the check of the fetch size, if local cache size is less than fetch size, adjust the fetch size to be local cache size. Fixes: d15c0946beea ("net/mlx5: add indexed pool local cache") Cc: stable@dpdk.org Signed-off-by: Suanming Mou Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx5/mlx5_utils.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/mlx5/mlx5_utils.c b/drivers/net/mlx5/mlx5_utils.c index be33af96fe..4115a2ad77 100644 --- a/drivers/net/mlx5/mlx5_utils.c +++ b/drivers/net/mlx5/mlx5_utils.c @@ -340,6 +340,8 @@ mlx5_ipool_allocate_from_global(struct mlx5_indexed_pool *pool, int cidx) /* Enqueue half of the index to global. */ ts_idx = mlx5_trunk_idx_offset_get(pool, trunk_idx) + 1; fetch_size = trunk->free >> 1; + if (fetch_size > pool->cfg.per_core_cache) + fetch_size = trunk->free - pool->cfg.per_core_cache; for (i = 0; i < fetch_size; i++) lc->idx[i] = ts_idx + i; lc->len = fetch_size; -- 2.25.1