From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from YT3PR01CU008.outbound.protection.outlook.com (mail-canadacentralazon11020104.outbound.protection.outlook.com [52.101.189.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E689C1C84DC for ; Sun, 15 Mar 2026 23:16:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.189.104 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773616573; cv=fail; b=MfpYgxvRh/OEHm/zPV26Jlf3iV+02FtDb1kHInihMlURjwO1ujsETs+acSGsSCwB2CHgdvKsV/wuHzEn+US/X//iEzx8BicYVB4xSrklPwtv9DykEI9mNI6Ah45ugUf/Y3E/Z3aQ8tfBDvnzDqmIZvProILjdOTuYq8GG+/OuXw= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773616573; c=relaxed/simple; bh=pAXYzXCDVzcCiFa0vV21EA0cUZUkdrlOAOfBzXyWva0=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=Po/QncXGIZ7TXTuNGdIvbI3FGhslw5z2SlfyVCtvthC8W+mewqkUUbKheAaBsI/j6iaxmz4xdQAGvM0gJqC3a8fQd+GYgXKw9cDN32tPg49gIbBU0ycJ8ebyyvMWlM9+ugq+iXvRzIK1BM7A6ztd+u5CIUZqK6OYzsVUsC4G6Ck= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=efficios.com; spf=pass smtp.mailfrom=efficios.com; dkim=pass (2048-bit key) header.d=efficios.com header.i=@efficios.com header.b=TX2GqlNZ; arc=fail smtp.client-ip=52.101.189.104 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=efficios.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=efficios.com header.i=@efficios.com header.b="TX2GqlNZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tOXiHh2qy7JsJmcbJOeHab0sZ19T/2NiBm973inZV/dT27SY6KFCxiech0Y6qtP0ox49a5hhJpr9R95OfZAkTi6zzi43XSTblYjjZcpOyBD+SFfUNAG6X0CCwQ/nClAzWGs7vQ6CNT4EgkL68YUM7ViC2V/N7YgPgltJGanDDpLuZFijLy2VGyAM33c6Mz8sJkUMKceYa/o05F/8DrGl9iwZVG7Xry1rWh9dZKl0MfTrYDJaFeXNRxmFxmxfnpMUlWwS8nL6jPtxZUaPY57v6xZKo63TAg04+8eUSQninTdkYmnnRIkg20MVNbE5uaovZNKSNeVMnWmErsjOEyaYXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=fBCFEea7gzxXLkkAsv2TyrayZ4TuCdqpptaASNJf/rM=; b=xWaOdKnX5yWpTQ85rtMAKSPSyc8WWUQYaZwKDr3U7I7jn7y8q39yaO0a50rqYGrn7D+TA/rxCEIskAaYlfIN8bW/OgM1jcfMXBhnU4DV1hdwRb4IFJ127ovor9LXxkMCzOYBhLq2UtCfaN14CmQdrO5DaOn76wk+Ly01tXehLURwj9EKBrBr4OCq/eGB9IbkJFef2AI8Jw4XvmOUpc2sQXk4Uk5046hqlZGrTd4oOPl/BPzOr+I6nwp7WXHXIz0Nu7xWzQN9hyNbnAh5UfaLFozsSTSGJaRwY0BqA5U3gX4Swo1UrAtzluji1hY05oCIFV0tWiJq67/XrrT9MmcxjA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fBCFEea7gzxXLkkAsv2TyrayZ4TuCdqpptaASNJf/rM=; b=TX2GqlNZIprbU33ieCRqIymgwNRooFsKd1qm3MMts8bF0vE7Gx8c+oOFI9DwBbY7AQi3Zpyhmq++471JFc9o0au50ti3MCtzVpdt4bk8fXB22Ckp9oMgZj3cxiC+FScIy3GHdAFEqE3/o84qMXv8gGewdAFSCdPHF29AKcIv9I03mRd2d3Q66LitjgPl8jFb8bvOR2ZXn8sQWnElIN70s4mvCBbqMzOpSLpRopXf0uwztS9KWPqrvnW8MFViCd1bA8fwcA+skukFPSB24pZ7Es96CmvLMzV7ana6IXpEAI6RR9te4xqW3SuvcTLxH/QSrbttFRIgpGU6kBQ+vKqHIA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) by YQBPR01MB10514.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:70::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Sun, 15 Mar 2026 23:16:12 +0000 Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::6004:a862:d45d:90c1]) by YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::6004:a862:d45d:90c1%3]) with mapi id 15.20.9700.021; Sun, 15 Mar 2026 23:15:59 +0000 Message-ID: <65bc70e0-c9a8-44b7-aa8e-3ffa31b0ed75@efficios.com> Date: Sun, 15 Mar 2026 19:16:04 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] lib: fix compare_delta parameter order in percpu_counter_tree To: David CARLIER Cc: Andrew Morton , Josh Law , Dennis Zhou , linux-kernel@vger.kernel.org References: <20260313175424.132735-1-devnexen@gmail.com> <20260314144508.ba3504b4338eb1ae84017028@linux-foundation.org> From: Mathieu Desnoyers Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQBP288CA0001.CANP288.PROD.OUTLOOK.COM (2603:10b6:c01:6a::14) To YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YT2PR01MB9175:EE_|YQBPR01MB10514:EE_ X-MS-Office365-Filtering-Correlation-Id: c305280c-3cd8-4b0e-5ab7-08de82e8d190 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|376014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: Kn4GjRjrysjwiwdPc+8CgqdnLIbuAs/SaVd9Nvey29sKvCQmwwObCJnSP5g0XCUYvCD1ziN62eCuLlSD98bOe7nHqXHhYC2FZEmp7SEI42TWATm1hUFoyxGghuwnzQH1wA2nX42vPcX1MqBE3iy1/5OXcM4xDPRhyhcaiWlJ6JwhE6d1VoxvmuoQ1J4XeyyB7CG9EiqIjffdoBsptxw7U2J8AuCAxT1fjkIGUky0X0k7TocgUJARc8/R0Qa30sXhzLLe0iGbE3rIdm6qRCO8zEcD9W4yTyDJmfmIslQDZFxQrOr8utmo9ho1tvvGXHS6xovVsr16zKe6WnM4/jgJ2I0DHVVOGLcfP6MhvOccZpU4JlzlI3nY+J9yYUd117C1XZvCx0hHi615fYy+Xkm8etH18fvQk73I7F4JQTApgLAWzdqElGKbruT2funMiECLQF5YF5fA9dL/Xc46o+tJbLJKYubJEJyWm8hnI6WK3gxbGjoYmuQe4mAkv4VmAM9h+Yf0MUzhShZkCY8WpljOobKfGgyDf4qHVpAYRbSKqmYK4tTea4Ipg66eyHkJUXWGaS2y6d5xLxugrwvExtd7EQ5fbG5s6mIHVsHVpsnFDVXwUjwHwl5B2tgr0ZJ+Xk+JrO9bVoTbPhI+/oQKpDVuRcp5i4OuZHRghVNEqwF7MDiWEmvmNapZt5GncvrXHEx1 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K0kyamFCbHA5eGhOam85L1NQcWRLZkFKZW5TYzVBdWhYeXJ0d2xrb0thc013?= =?utf-8?B?WkZhWVAxS2NBM2ZIRVliMWdjRWdEblNSOXBvbmVVNDNabTRVOVY1SGpnT2xZ?= =?utf-8?B?eHFheko4a1oxRkxkdjNxY0QyZUVVTmJocC96b3JUOENXb0R6RU9OeWRDMm5I?= =?utf-8?B?cndRWm04L3UyVnZxSXJaZVZpVU5Bb2tVS050ZS9pemwvUzFnd3AvdmZNR2xm?= =?utf-8?B?Nm9JbDllK24vQzFmcVBHeE9wbEgxUy8vSTdPbVZZWFFMMytUYmxCN2RqTTdF?= =?utf-8?B?c3lyV1VBeFAyREpEdEVzTGFwTi8vNkVMUmROYXFrM2RKY0RFaGZ2QkhTb1Mr?= =?utf-8?B?STd4TE5WSW5Nbm9iWDB5Vy8vK1hzZU9RTmIzbzFWLytIbVNIakNJQ0RqazVr?= =?utf-8?B?b0h1OE5qd0JzMFJWbnl6Um5Vajc5SUJEZUJpM2ZReUh4M2VkZmtITm5xbjNX?= =?utf-8?B?YUhBSTJOMlU0Rm1DVHRFRS9UVmptOXlZeUdPdVgxSHJ2WUhRRm1ISkl0S0tj?= =?utf-8?B?Q2VoQzRKaTRVcHZReUd5VSt6TzByS0J5aS9zelBIWEtLaysrNlFmcGgrOVlo?= =?utf-8?B?RU4vL2xSRStUZjJ3Yk5vTVBjd3plWXAvNVFpNTQzQzNhMi9KK0c3V3V5eTFK?= =?utf-8?B?NzlXelpCMDB2ZUlEdnhDM25aczN1S2RFNnlFZzRReUsxNGxCVm5Zb2M5OFpx?= =?utf-8?B?VHNKTTIvemVSYU1JLzQxK0tFelFpZFRtZnFtYkZvM1lNc1pieTFkM1lFUWJq?= =?utf-8?B?cUFSMnQ4UmFuMEs3TVlqbXhDTm9kdWJUK0s3QWFIRFdNTFlGa09VWnllTG5h?= =?utf-8?B?N3MvVEFxMWE1ZnRtT1JCZHdPNWhGekVWdUdvOXF3cUI3Y25tSDhRRFFLQUVt?= =?utf-8?B?MTNTNXo1eHQrN1JseGcwQ2QrRHQvUUZMNlREVnlVR1NrczM1bE1LV3doTlJG?= =?utf-8?B?eDBOMTJyQU5tV21uTE53RkdySGFsaHd3MUJsZEw2cUIzOUFseGdWTThrY0xk?= =?utf-8?B?NldqTVJZWUpxVS9EaDgxUCtnZ0pxd1NERWt4eVR2aGl6M0JaMVRETEtiaUhp?= =?utf-8?B?RWNQV3hSbERrTVpvZnVaQ3FWQzJkVXlLQUJ0R0I4TTF6WFpUVnNQU0NTWTJu?= =?utf-8?B?YlFlNURLWXNsL0VLSGEzUDZSMUx0dnJqR3FHQjFQNUZXR1h2bys1alZrUkVn?= =?utf-8?B?WFQ0UTdtU2ZoYU5abWRVWE1OQTBqS0VlZlRtVFJWUEE0TWxGZ0wxYkg0MG9w?= =?utf-8?B?eXZvL3VmVUFaSkNraVNtWXVDdWwzV2hkUW9wUEdBR0F2SVNqMks1YWsxeXl2?= =?utf-8?B?Yk5yRWw3UVZpRWttNDQyZGJzZENtdjI2WHN0OFZCdC92dnNybjliU21VN2VU?= =?utf-8?B?dmJLbjNhWXZIOFY3OGxxRE1aUnlHaVZLamJ3eVBUZWkvczd5ZjkvSXdXVk5N?= =?utf-8?B?dzJ3aUtsRTN3RTNybmdxZnNhSitrdmt3WG5mRnkwVHdGM1dpVGwvYlk4b3dP?= =?utf-8?B?Mk05SzYyY1hoK3MrbGZid3FMOXVIVE1pVUhGaWViWFRhcVlzU1JyOERDcFZq?= =?utf-8?B?MHlrcXl4a2d1ZG9qdjBoSlBLR2tiZmE1Y0pac3AzMGdZbGc5QXQ4YW45ek9z?= =?utf-8?B?MTZWcUd6SmFFTWYwWE1LdXNrVElYbmxkMklzdHhqQ0R3bWlaTnV4SmtXYjhY?= =?utf-8?B?U3J0azR4RVhrbmFiL0s5bWQ4eVk4UXBWeTR5ZzJGMklWN1RUckhaVk14ZGUw?= =?utf-8?B?bXF5ZnV5MEN0NG5MVFkra2p4Qm5JcHpJT3Bkc1NqZFpYbDFidkRkRWZBZTFD?= =?utf-8?B?Z3Z1RlZXMmh1Qkh0VFpoTHhtRHB6TXRnaHdjN2ZhZDhGVTZBZU5PdTJUNlRq?= =?utf-8?B?aVlMRzR3cTFHZFFLUlp2ZVlKQzBMRVBaRTVEbUI1YmNsMkF2UzhCMkRlR2VP?= =?utf-8?B?YUNLRXZ6ZFJmaWVjWjZTVm9TaUJjU1daRDA4R3ZEaDNVZkx3bkZzc2hyZUIv?= =?utf-8?B?SU03dDI0U1pOVXhsaGJyQjVsT2xSYzg3Z2RGcnkyUE1XVjhMaE5VYlNaenFC?= =?utf-8?B?NVZKK2JvVld5WlRONksyUXRBdWZJK2Jpc3JUaUkrV252SHA1dGxkbDJGcDhW?= =?utf-8?B?OHBrK1Q3TUJvNnpsZGthZUlRa1JOMVpwRGdmMEVEUUt1c0I1Z0tJTGQ1bll6?= =?utf-8?B?RnVyMTlKdktvaStlb0VuZDNzUWo5Z1ZrMXZqa1VqZXV2ZWNCV3RpYzZHcU13?= =?utf-8?B?OVJhY0VSWnJhVTc3amFTT0tHdkRwSnJVb2d0S29JSGo2bHhSWGxYQllnTmt2?= =?utf-8?B?QVQvNFZEdHNCZUoyUXAyRCtrMUF5cTNMUzRHUlFLL2VxQ3QwQ0VlSVl3bXBN?= =?utf-8?Q?yo5tRZWQ2h/8vULnd+DZG44Pn1NlTUamb3FLNgaY8/8Gx?= X-MS-Exchange-AntiSpam-MessageData-1: tXW60N1PqySmyv431bw09ADbyk3azXAE0bg= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: c305280c-3cd8-4b0e-5ab7-08de82e8d190 X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2026 23:15:59.4758 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gFvukfhR5LFlD+n7ZUW1lmZ+VGVZ8cj2aMf6xSGStQC9R8yLw3bjDnpsLD2Qd1TiEpjLkAkcMOGTdibyDH6mknmn8p4RuK27oARw3pLca84= X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQBPR01MB10514 On 2026-03-15 18:47, David CARLIER wrote: > On Sun, 15 Mar 2026 at 22:00, Mathieu Desnoyers [...] > Any thought on how to extend the kunit >> test to cover this ? > > Can something like this be applicable ? > > static void hpcc_test_compare_value_boundaries(struct kunit *test) > { > struct percpu_counter_tree pct; > struct percpu_counter_tree_level_item *counter_items; > unsigned long under = 0, over = 0; > int ret; > > counter_items = kzalloc(percpu_counter_tree_items_size(), GFP_KERNEL); > KUNIT_ASSERT_PTR_NE(test, counter_items, NULL); > ret = percpu_counter_tree_init(&pct, counter_items, 32, GFP_KERNEL); > KUNIT_ASSERT_EQ(test, ret, 0); > > percpu_counter_tree_set(&pct, 0); > percpu_counter_tree_approximate_accuracy_range(&pct, &under, &over); > > /* Skip if under == over (no gap to test) */ > if (under == over) > goto out; If we ever have over == under, then I think we could keep running this test, but skip the "expect indeterminate" test items which depend on having asymmetric ranges. > > /* Positive boundary: v = under should be indeterminate (precise > could be up to +under) */ > KUNIT_EXPECT_EQ(test, 0, > percpu_counter_tree_approximate_compare_value(&pct, (long)under)); > > /* Positive boundary: v = over + 1 should be indeterminate */ > KUNIT_EXPECT_EQ(test, 0, > percpu_counter_tree_approximate_compare_value(&pct, > (long)(over + 1))); This assumes that under > over, right ? In that case, I think we may want to grab "under" and "over" values and copy them into a "a" and "b" variables where a > b. This way, the test does not cast on stone the library implementation details: the fact that the "under" range is slightly larger than "over" due to complement 2 +/- ranges. Thanks! Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com