From patchwork Fri May 3 03:51:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Hubbard X-Patchwork-Id: 13652323 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2F3CAC4345F for ; Fri, 3 May 2024 03:52:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B1B046B0088; Thu, 2 May 2024 23:52:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ACA716B0089; Thu, 2 May 2024 23:52:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 91D956B008A; Thu, 2 May 2024 23:52:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 70E466B0088 for ; Thu, 2 May 2024 23:52:47 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id EAB381409D4 for ; Fri, 3 May 2024 03:52:46 +0000 (UTC) X-FDA: 82075713132.06.40C4015 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2053.outbound.protection.outlook.com [40.107.94.53]) by imf06.hostedemail.com (Postfix) with ESMTP id 51D30180012 for ; Fri, 3 May 2024 03:52:40 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=kxhNz49+; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf06.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.94.53 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714708360; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=KEch4UNGf2xILDLML6oCjGM+UDhweOuYpthwBkU35mQ=; b=vr33NG9DD2UM73j94sSvROa8qSGddxPmLEc3sfMNo5AinlydeJCULhyy8oqr79eKGe1oAA xzZqHQeKLcbDFiKZKxhVgC3qQVPD6NbddDf9fJ2UA4TQRMYDu5DM88gviDt7AtGbxZc7D+ b743bhDTjtII8TtJloyC3AbUCNvcF1I= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1714708360; a=rsa-sha256; cv=pass; b=UvGJIKR0HBhifunp72PLiE5riHkuEOBwkiT5o0eBM941KrTevFijFAwgoxzwf6SHsI7T/8 xC244abKzSnuuyLvpklI0zg38wfbWmfxcKplJYlx4Wwbhlk0EhxayWrxHTaOoRfuTTIZM8 fKNoKRTnuU8HUiuNGlWGvWjMNlvVRjw= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=kxhNz49+; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf06.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.94.53 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a7fyyNIFak7+4+Cmh7vdgPScUedLSSrzpbzFr3g2eMhZm0gzBU2we7b4I1SEkkD19hRqC4ko2Rb3fqQLLDU/ygSfC4bXLFRbZY7NEMd9wg0vP1wdJc5GH5bO6kPqX8nB4hE0vRCJimaZCdAjHxpryN8DA5Bx6QeuHCgAcDusK0Fob+wLMN45tk4PQDEVXvwQR7d6ihyPjoPqbRvdxrnNsd/qasCsUxYSnZJC7Iy5tu9+UW+vUyBu5A2qPkQe4owkzz4SUgMO0UJX5keE+q5+qvI/uV7qOj/7aUNjdwtxSyvEkzbK7d9W6dZX2X1dbYBhEmCJRMSByFC7mDT2i7ANMQ== 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=KEch4UNGf2xILDLML6oCjGM+UDhweOuYpthwBkU35mQ=; b=BBFHLePVVt7iHmsptB2kotddC4xk1au4KDTGEPuFKF5LEiTZFbunW97R82iMYkd9jqP975mFnjzMZmIfEHiZsQBmb5mfM2+scIJpmHXdEwvHjNv092gH7GAvljaFvY/U6ps1JfOVUzNJa9SYDo+wCfH5tHrxeAaEW2j96f53QDOYHLtsRgZVlOa7SEW2Og+nSoFXOBBwBImnAWAhY/zGsmIfKb7Lf7pKV5SFLk4dNBVgKdhD0DgX9Ue7hO1xdG4ah3hbvpqy/jK5e+eTsFySkX513+oW9qAWi4Y/ietgz9xTNvE0pQxDHklFC6WNmy2Tw3A0/rVrr44EKlFUYXT4RQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; 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=KEch4UNGf2xILDLML6oCjGM+UDhweOuYpthwBkU35mQ=; b=kxhNz49+DQ/ANRn3r9AB54GThyH4BHgRfrC4+28kJZiHEHwAOKgQTw6JrqiRHypF4W4s7ksiJvKJGOhkf4iQCq6IalPjWfM27ZE9tFA1BnTP15WShjdQJKkUUEt5UhyCNK1qidPdBF41V/uTM5m613zeFtJSGQaH75uhQtxbknttkmVoIfqfYcscUt7Z1Jsg0wjjHIQ5qXpjmM5WDWvGC+mBP2u8gZHpPNTz2IjWTma65e7bNllvEe1DQoMOs0O1UFg9KnY9zT/YrqDyl6dHJSX6JWhid3+CgQlD3ZtC77iDB14bEfrpCC0DwIbngGEiDd/rext0OXMduejbL2zy0Q== Received: from BY5PR12MB4130.namprd12.prod.outlook.com (2603:10b6:a03:20b::16) by LV2PR12MB5941.namprd12.prod.outlook.com (2603:10b6:408:172::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.28; Fri, 3 May 2024 03:51:08 +0000 Received: from BY5PR12MB4130.namprd12.prod.outlook.com ([fe80::2cf4:5198:354a:cd07]) by BY5PR12MB4130.namprd12.prod.outlook.com ([fe80::2cf4:5198:354a:cd07%4]) with mapi id 15.20.7519.035; Fri, 3 May 2024 03:51:08 +0000 From: John Hubbard To: Shuah Khan Cc: Tejun Heo , Zefan Li , Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Waiman Long , Yosry Ahmed , Nhat Pham , Chengming Zhou , Valentin Obst , linux-kselftest@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, LKML , llvm@lists.linux.dev, John Hubbard Subject: [PATCH 1/4] selftests/cgroup: fix clang build failures for abs() calls Date: Thu, 2 May 2024 20:51:02 -0700 Message-ID: <20240503035105.93280-2-jhubbard@nvidia.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240503035105.93280-1-jhubbard@nvidia.com> References: <20240503035105.93280-1-jhubbard@nvidia.com> X-NVConfidentiality: public X-ClientProxiedBy: BYAPR07CA0093.namprd07.prod.outlook.com (2603:10b6:a03:12b::34) To BY5PR12MB4130.namprd12.prod.outlook.com (2603:10b6:a03:20b::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY5PR12MB4130:EE_|LV2PR12MB5941:EE_ X-MS-Office365-Filtering-Correlation-Id: 98063537-2a31-410c-dec2-08dc6b2443f8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|376005|7416005|1800799015|366007; X-Microsoft-Antispam-Message-Info: Z8MRn10j9YzQK/8/9/X4QnqiKspr2jmUQudqWjU8Tpo1+J1SizQZXZkXR46CwZO3EdJ3TSTnhLVD48eTJCgo0R7fMQG2BB8FFItci7uyvv0xD9dCiRHrSVuGcdqlN2EsgeXb6MXWCFbEHdOyeYxwv59EuAfMJjD3YuLXrP4UEwhv8ZIgfe7e5gNBWVQP0swd/NzfcaQ18XzfOI5O5l4PJerKjb0UEg5ZM6Rh1aDY4nclr77iYG9mDy4a1SPMY1nEVQgZ5u0nMrP12e4f+9oy8mzAhMbI0YtSbu87Fz08sHIEUZdLCYdfXdGnwD/wp9XT+4xngrYkNyjfl6I0bquoYg23eydvdFi5MqcjpkCPJS2ZSfZ4hqMPKgwtKO1NhMPj3R8RR8Mtw1K+EfwIXlsOGMdfEy9xssNBu1Czny+AhaVZ8LRhnjSOX9VHqF8kZ/DiTXCrq3KdHTP9N86609Z+dMabfsOd8LK7ATqUYZ2/HjOs/c35bYtHApLAr6ck0Jcr72RD+2YKKoFxD7ZjTPvMP1E78AyeD+4QX+ih0M6M55pjFrUa27XHh8gbpLtRkiBSnvp7Bl8in6JvqQDU4LMCTUGsOwe+57WYwF9MR5+MH3RwKJta6iVXJlHzwTkuzdPKiYoQPqC+aERcMgu6AUzWPpcfDKdzVKK7OMcmRD5rd56CxJOCtKfDHwbsZc8U8+LswdLExkrTeTU88jqD4Rg5B/Lz06x7met0lPqsr78Y9lNlLtG3cgyMpvWRy6Blcxg8SKZ+bZ4BV+Hjn5gv8ezZgmeOG7QWT/4uFMa3gfwdISOVU8jQVMhG1UvUzuTPrZ9dfRNTQUmsEMl1tP3q/ypla/zvb6l5MPVbWWlxZU3/1AIVoX+mefKVxtMjXftZAewQQXnSUstR9Np85QA2m9MUkIaPRceqZ4GaqpIWOsH0JJmfKkGEKhOkt3/pZJpBFGzZ0R4ioFANeq9GpZQUOJekPSwgI8QW6JwppEFSIkAqGUqBiI2JCUTE9EUpLm6TpXPMJdI2/bwrbegaBvaSQrH/XJsg8jeivF0VTUeq40cK6QqdjFDhC4CNs5GeHWZfACsDojsaC7dvJdbQkCLV6Iv0LUSN0TwMOvcACV5gv9TqBseMWXdww0m1nJHVVmZh8yYschcjrhKD6cnJxplX2h7fSJFHn42yfkcs7C9/33DvvjklrYdklhDhR29mOv7vtcNSwdxFE3vv8vWEG7CyJM0QnrIF4rGXonhQhadgMbGWyJHQ4YG6AmqobnDdaJLyo10SyIVYTpxcMV+p46/lrRXDmg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR12MB4130.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(7416005)(1800799015)(366007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7ubpC2pyVaLTxM5vJ9f7dePekbuqg8ZF/BdVd35d4CtO6oT14fv5SznDTu6OhH+U0YqHc0Deqyvldp+5JwrPG3z0eig5UsmPSMk/OtcLDUupDJvm7fGzqT9MsprnsFVOAcXSoelQikPXrjliECIuMHt1RK4ecMGb1N+1l5ALWzMre/Cfh6VqE5q1Xp/rS8d33VuiovV0Qi5syR0fA9vI4ArqmWtJhua8e1lyLcWFU/MkzTsPE5ivDUI/SQXOVjuwdw2Wql0Zt8m6mqdYnw0Vueye5PO4eTh5/50UAzVL/hpnXTfdNOU/rjZ+Mfdh1N450gIAhihNyRuuTPNZIPydSnZURRni15bIzx28DWcb4n+8+yt37p6IwtfPNtVbAw+bd790opMggvCh/ow18ZSVCXhQWujLKnAuuKT5Wksa0dFQKXAh4k6WyM21Y+DFgLVnb+JJjfvt72VQfEghKw17yyWQfgJWI0sNokkmazi6TgnvK2Ngq85lJlFp4VOx1UMO2g82uPlCWufBDfz9tfHg00E76sXnLxmvOnaMoPf1GZ0uXiNx74XYcIxEsbX6P1So4zdi/ecNF6FXQ44E1zGuqGVxqOSHFe22Kzraf8zBDTMUFbk8l/WPR5yLbEgitePTETW2QBYj9aiOakM+GyXDCP7mFb0UunTqveTyNMY+ORBXdndXddSl+JFxxsCe+qHNm6L9LtvrzY+2WZEv8+E/P0kKN50/LmAlKB3BrJ6pXsTsE6ZfrEu3DIwUP/jbR+I3wSltnmVdXZ1sZ3eZWpCE/p+buVVnasI0r2aIfD15fS+kM2uBNFmRoNkjDAYItrzzYX6yN+yw/jOcYcKTAsI1eXOWkNmeb3aXKvUxdcWD7Loma0exPZZuCquAV6jHRgtGAzDIL3r421swAUYw8TYqk7fDc/aJ3ks3gduptN6HcXb/u9EUa6ilCcKwlQYhVyOzozjJWXpf2ib7q+OQIJixY9Y7gOroaU1WombQqlNyHbPlWRVtG3nM4qpVtM72HNNtE2E2Ec1iz4YctgDLSO9HZZOenwFAjvixte9oXEkDWcAZRR5fgNRmTpzPmoCNP1UN1c3LukapzfVG4DZVuC/fb1ASI4L9ri9x0xnq8sxnxike9jewpZUjL9NQjJ2MhUC/fEtupqJw7GS0M0BRaZndRTOraamwjbDxIC5Boy0Fj/whyE0jUgPwvysWfVLL0XvMfReMYAjSBTVdlcUwp/0hJbvMNb4j9wMtlfKsAh704IFkx8j1Hk2cwG8dhGyAuhbvZ4RSY8Vi+3I439i90mphlZUMcIj+530jQicpgj1NvCirWvbMD7crcZmJ2Leo1RIWj2gHjY66qlkxN0lKqc7haxkScvZvmgJo1IOAbnd4pt+jcmug+Ezt6ApvXctHR46yLhQYXvNw6zef7NuXTI+55g1zfou8cQgD49qO6pACcAJ6hvRoCmaurGRkt8FOlyh0HLvdK6S0UZ8sk6OOpRc0c4mGME0HcFP4bq9/T5TXTRFoA6EBj9/dtkyDnPfqTd7jCNm1FvBqD/tnKGH3PJzgr2HILiWhvaSJVHg5NX1k8Bf1TasjeIJlvNpMwWyGuWGq X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 98063537-2a31-410c-dec2-08dc6b2443f8 X-MS-Exchange-CrossTenant-AuthSource: BY5PR12MB4130.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2024 03:51:08.4339 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0nI1iNp9a37M8EirS5zBXkpxrc7wIQEOd7ZqeBqH/7Cr/Sqmmfx1wer1RlWsHURm35c5DBYe/Oto4ulvBU+u5w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5941 X-Rspamd-Queue-Id: 51D30180012 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: skjgk5p3tctk9rcdiiqwzgd5khhf1beb X-HE-Tag: 1714708360-82145 X-HE-Meta: U2FsdGVkX188AYn5j9IQVFYRNhhjL3dhFj8hVrQ+XojVZ6TpzpZcOixf9cIJKqg12C/sUw36NXecoQEtBuEM5fGDDJ7PtNqKxxJtmIGBnu673THg2CRy/gGNUUhJ2fK7Dr40bUXZgantbkxhRtTHOkicI/Eg4XiZymm0NNI74vJiqchgUhCIGMSlru6eoYD5txcranBoVSwjwc2WObgt6r76vB/rvJ+bD0dgBLinDwCzvdoB3Pdon/mPtc5Db04rAHdghPlbupFblq4vmOot8HI/1cxHRlapOzX2lIgD70xg17gjpjkU4Md8HT8KrP+7gjWIEnT9kGtjlRmMGR2zIYjB62HIi6wWkcIRvB6MGDVXcszk2u2NzfuPiPQol+BOsgLGyTSelWsBt2xvLE8mLTHQkKG+T3TyA6vE2c0U9sKu3bmv3PS/nVTjDjeMu0CxLNfD7g+WiC01XWhzJ6S8TNE/gauXSSycRiPPHHzcViMzqSOdIQpmgX5wZMI6voYZAx1IxwkgKe0VvVTlPrPzLziTA/cIwEP+Ij7lJemklXmZa8jMfMZX8pIvkPGKN51ha70drGoqTDP0rWfNnG2Ql/Psg9+J6fXf/SOwkL8Nwe8GXLgMygZepxOWniuXrhYHia4gBG8PotuoVIoAXaHgnIYtudaJAyPctuTTJiJzs+aOSsxCOCBcGzyS39LTJ3Hdmth8iiCBIt51WZo6EJaHD/mvE0jUlNG29eOCtXwmdTSx6IXhQUYTxni09pTEBBCgp+/GrhKf1RNryFk8vJg4E7vZ+IaPynF+bJ6JaFHm9b1aSLYxLjiDJl0VhdyEz0FEHsykro+3TEa1Wofsxsd14YF/e1GV02p2iecEz3eoAPaD/QuWJzuzkFaBMHQysXjzNDQ62A8H3+FfKw67ErFTHRNOpkzgDy8U41CZpawZYkCABZAl3riLlAxUcnrFmDOlZp3yjoBDC0efzPlmkaB wRdK0yAe k4SB4Q0W8hlk9a/JR5cCYxjczsSAoUHYEHNMYAGgM9HwgjRNUJWZNCglT85I4lLMb94yd8MeLUEhRjekNsXjtcAw6XEetOYNQ0WE2bELrAeJ1xi20Spzw+18X6h+A6VegBIaVpgf7xNS/RhXln+ikLOjBfkqEianZkYtUqGq4DiuG4FtBzdBifCMoBroXBpYajrIa3u3gEzZid+X6RgPsyta/4JLL8xT/wmYv9lMIyH7/oAVxxT+UemAYxEHsBaiC5phwbAY7SsvxM/tLdigo82RbihkzEv5nGNlJJPxXyWE/hRO4BUSjg9sQjkLAePlMGpPxyL5C0xdDpaEjXfZQIEu36n7VL1RS0OvUIDn0oMfdmSlDA3DKnJcqXvBf9wqNhBLA1AZiPvaoo2EAjunlIeuPkw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000721, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: First of all, in order to build with clang at all, one must first apply Valentin Obst's build fix for LLVM [1]. Once that is done, then when building with clang, via: make LLVM=1 -C tools/testing/selftests ...clang is pickier than gcc, about which version of abs(3) to call, depending on the argument type: int abs(int j); long labs(long j); long long llabs(long long j); ...and this is causing both build failures and warnings, when running: make LLVM=1 -C tools/testing/selftests Fix this by calling labs() in value_close(), because the arguments are unambiguously "long" type. [1] https://lore.kernel.org/all/20240329-selftests-libmk-llvm-rfc-v1-1-2f9ed7d1c49f@valentinobst.de/ Signed-off-by: John Hubbard Reviewed-by: Roman Gushchin --- tools/testing/selftests/cgroup/cgroup_util.h | 2 +- tools/testing/selftests/cgroup/test_kmem.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/cgroup/cgroup_util.h b/tools/testing/selftests/cgroup/cgroup_util.h index 1df7f202214a..239633e936df 100644 --- a/tools/testing/selftests/cgroup/cgroup_util.h +++ b/tools/testing/selftests/cgroup/cgroup_util.h @@ -18,7 +18,7 @@ */ static inline int values_close(long a, long b, int err) { - return abs(a - b) <= (a + b) / 100 * err; + return labs(a - b) <= (a + b) / 100 * err; } extern int cg_find_unified_root(char *root, size_t len); diff --git a/tools/testing/selftests/cgroup/test_kmem.c b/tools/testing/selftests/cgroup/test_kmem.c index c82f974b85c9..d21d3d280ca2 100644 --- a/tools/testing/selftests/cgroup/test_kmem.c +++ b/tools/testing/selftests/cgroup/test_kmem.c @@ -192,7 +192,7 @@ static int test_kmem_memcg_deletion(const char *root) goto cleanup; sum = anon + file + kernel + sock; - if (abs(sum - current) < MAX_VMSTAT_ERROR) { + if (labs(sum - current) < MAX_VMSTAT_ERROR) { ret = KSFT_PASS; } else { printf("memory.current = %ld\n", current); @@ -380,7 +380,7 @@ static int test_percpu_basic(const char *root) current = cg_read_long(parent, "memory.current"); percpu = cg_read_key_long(parent, "memory.stat", "percpu "); - if (current > 0 && percpu > 0 && abs(current - percpu) < + if (current > 0 && percpu > 0 && labs(current - percpu) < MAX_VMSTAT_ERROR) ret = KSFT_PASS; else