From patchwork Thu Jun 29 19:21:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric DeVolder X-Patchwork-Id: 13297228 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 1C9C3EB64D9 for ; Thu, 29 Jun 2023 19:21:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 702AB8D0002; Thu, 29 Jun 2023 15:21:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6B2DD8D0001; Thu, 29 Jun 2023 15:21:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4DEDA8D0002; Thu, 29 Jun 2023 15:21:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 3DAF98D0001 for ; Thu, 29 Jun 2023 15:21:51 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 04F02C0C67 for ; Thu, 29 Jun 2023 19:21:50 +0000 (UTC) X-FDA: 80956755222.18.E25F0B5 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf11.hostedemail.com (Postfix) with ESMTP id 721884001A for ; Thu, 29 Jun 2023 19:21:47 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=ZNMyRp9q; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YDZDQMDR; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf11.hostedemail.com: domain of eric.devolder@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=eric.devolder@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688066507; 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=urxPOYUpKOMkti7IfS40b4Ht/WYOtVRmEjh+rUcS9T4=; b=OMghOke1UVptMPRT06iZTWhnRv/UEZVjJ0VGUjjViFgJY8IVdx1ebLXNAeNJwOUvPEIP0x SWxqdQbVvDESJ908ey8QDoiR4EangpxM18GgbdYBaKKXdT7NrW9hX+Y1I+JgagOopr2S7c bDk/P3TIioY8XOijV+DFwK61OQLb5Ys= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=ZNMyRp9q; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YDZDQMDR; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf11.hostedemail.com: domain of eric.devolder@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=eric.devolder@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1688066507; a=rsa-sha256; cv=pass; b=0LmT0qLOFVD8ccthNLYlXF7ASjbynNYNhXKEGQ4wtBSoxbwHpxiiQwFXubnnqO1C9Dt5c2 IGZvVYDzxduHpWUmLVjCoRBh+nU+BedBS5wJ97IYKb0nP2EbdhkqBuN/2MLenosMDIqF6I dPPy53RM3DGAKJsIf/meznf2x0iRwHA= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35TJ3vBT020435; Thu, 29 Jun 2023 19:21:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=urxPOYUpKOMkti7IfS40b4Ht/WYOtVRmEjh+rUcS9T4=; b=ZNMyRp9q/8gDTzO4v8/4vIvAZOWWZUMbFcALTzgfbxzRZ82SNxO50TYZFS8+89jEXIR9 QAkwPRMvU7ZeeWP8nrwMyCSLc304ksoS8eNAFuwX2yHS1GNZJ+/m9wwYPH8QgyawWT1p 1g046aJJi+tlxe+S+fzH3+pOQ4N5WdaKc1b0OAqIFjSLE/QNqqAYZuOjlA4jNCYNdoAM PAiPj9Nb8AYx5CxhbhX3+S8dOyUEy1vaWSTVUNDQRS2YCrmew4URMJRO5TxvWi8epFJR BaZgL2FKp/5BT/ydIlBs52PBqzgzoAP45Yt8fJuoTCJns9CGXz3u6GvP1U27r+g+BpY6 fA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3rdq93dp8v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 29 Jun 2023 19:21:33 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35TJEaIf038200; Thu, 29 Jun 2023 19:21:32 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2102.outbound.protection.outlook.com [104.47.58.102]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3rdpxebtdr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 29 Jun 2023 19:21:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RUwjT/zbZPCupgWcwRawcYhIY363hb7DhROYktrjeZ69gNlfbwYrDW5nxD6jLDOf/zL6LhJXJ2IqCGc9wkyixb1052LkO7WBhbHC/f7pt9N5rIkMPCLXMcLCqkF6l/ELcUCQ2bW4w2niLanMG6bzgrcefhVQD/GjJfbMHa8XI5tan8jOsl/KonKh26LE6ODL0/ezN56u2TfnlYzxAUHgWxSjMXiS+lwlWnd1EHQ5mYNkMBD4aN1bMvpMlHe8YiBE7AwTn4ttigkJd/uMOaLD0shUaHY+iASr9XBhUJZt/eOfpC4/+H4KY8CUVUE6jPfhHgRTC6cTYQ19LH8k8r/y6g== 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=urxPOYUpKOMkti7IfS40b4Ht/WYOtVRmEjh+rUcS9T4=; b=OYcHZK8/j6Wm1SX+Cc6AWUP5BoMw/P7TP9SIbbF2+pGOmcUHYUmNGuIVex7qab9RGok7a2UZI3fDEc1JQyPkwKPvacwl7G2P0tFMtpuwR4WF1gszlpvAXhS/y7FqbtUS6yMpJw/+VIcIpexH92qU4ovLB6/T5e+KVURi2WCUKUXWlymsi5EpJEAA9c9vNeJY6Dus88Yv1jDXZHQhpPPKGrdoxhYiOiT5kF/xIlpbqPGjBQ8vQ2vrl4uh246w1QeHmEErOyUDY+DwKsTQ90GiTP67cyYxlpLTeOvvJspdA4RuHGTqeU+5LovEEGxI82R6aGjdG5Pan5tzac5iAD+9lA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=urxPOYUpKOMkti7IfS40b4Ht/WYOtVRmEjh+rUcS9T4=; b=YDZDQMDRsnZJFYm130OuXsX/f6DZ7FeKAE1TszUtLzgYmHVx0DrSNQByJE0Gb3VJPTjre70YdYlBuUCKiFyzdr9R4moAHKx7274/Va39lDvc5y8fq9XmpKJL8W43dlof7MGERYJ6WCFOAByxWkKsSc26aP8xcf4Wp1ufn0MVS6E= Received: from CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) by IA1PR10MB7200.namprd10.prod.outlook.com (2603:10b6:208:3f7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.21; Thu, 29 Jun 2023 19:21:29 +0000 Received: from CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::8b8f:b4b1:bb78:b048]) by CO1PR10MB4531.namprd10.prod.outlook.com ([fe80::8b8f:b4b1:bb78:b048%5]) with mapi id 15.20.6521.024; Thu, 29 Jun 2023 19:21:29 +0000 From: Eric DeVolder To: linux-kernel@vger.kernel.org, david@redhat.com, osalvador@suse.de, corbet@lwn.net, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, bhe@redhat.com, ebiederm@xmission.com, kexec@lists.infradead.org Cc: hpa@zytor.com, gregkh@linuxfoundation.org, rafael@kernel.org, vgoyal@redhat.com, dyoung@redhat.com, lf32.dev@gmail.com, akpm@linux-foundation.org, naveen.n.rao@linux.vnet.ibm.com, zohar@linux.ibm.com, bhelgaas@google.com, vbabka@suse.cz, tiwai@suse.de, seanjc@google.com, linux@weissschuh.net, vschneid@redhat.com, linux-mm@kvack.org, linux-doc@vger.kernel.org, sourabhjain@linux.ibm.com, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, eric.devolder@oracle.com Subject: [PATCH v25 01/10] drivers/base: refactor cpu.c to use .is_visible() Date: Thu, 29 Jun 2023 15:21:10 -0400 Message-Id: <20230629192119.6613-2-eric.devolder@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230629192119.6613-1-eric.devolder@oracle.com> References: <20230629192119.6613-1-eric.devolder@oracle.com> X-ClientProxiedBy: SJ0PR03CA0180.namprd03.prod.outlook.com (2603:10b6:a03:338::35) To CO1PR10MB4531.namprd10.prod.outlook.com (2603:10b6:303:6c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR10MB4531:EE_|IA1PR10MB7200:EE_ X-MS-Office365-Filtering-Correlation-Id: b9b946e2-4b0d-4c1c-8a9c-08db78d60a39 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JkZGzm7x/AFc6nlOCJhwDWWtl9fLwGEHMBaFtZdxbt67T9Yz6I87PA677Q2jWdSw9k8qdqPpHn+2pPOf57CwiICpy+BHUVIPomaMSZAYmHnps9NDiobdqgkwtOdcJWZxlxExBNgKIF5KXCho8TeLFxPH+pLuD9N34BlcnS1x/I8kAB3hScnPaHQi64mwdkmqgggdQnrT/1C7E07dGRLYPik0rawBNx0jr4e+NJ7AsuB3Pv9MxGc9gJvZWPrFN+meXi81rSn1xu9fUPVHMMLnrSgBHo9W0TkWq3WphTRGuIbb9no8GEPKDAeB0oysISjfbYcz849eO9ykhO59SgLMikzhDbkc00iVSh3T1ye/rBsqYjijLyYrpx0j1CNkr11IOc0JLOq8xeI0K87TMQYcbBYRHZnz0cVVCVhd+vI5bvZPcjMrHSDptLC4OS/sM58Fjq0ICFT1dAaWBvDaADF8NRCDELEvbg9P1I2kFcoa3wBErhQwH6yZuoJa39Hzw01+rxdhl2/of8re6tnOkg7Zfgoo/OlrGXKWLcQ72RPyhmQUe5ZPZl8woFnY1yZOq956Z2XfjFyMIIK55E+r4Z3THQzhbpshhXauBjyxkNWfKZ7Hab8rmrrnmrUK1qXn8ImV X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR10MB4531.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(376002)(39860400002)(366004)(396003)(346002)(451199021)(83380400001)(316002)(6666004)(8676002)(4326008)(8936002)(6486002)(41300700001)(36756003)(86362001)(38100700002)(921005)(2616005)(7416002)(7406005)(66556008)(6512007)(5660300002)(66946007)(66476007)(478600001)(2906002)(186003)(26005)(1076003)(107886003)(6506007)(142923001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IDm+CkZaKzbIqI/jIyDImGy1teqsUAfgzXlTQ0hCPQzUv9ZS7w07lOaOsdNxDbd0m50Wk36V+GJScdqXCY7MtXwb4raF0PDKgpVsEAYczKTBOsDNSO4Evnr8Zl7H2TFQVEA8GSldH+BQa4w4WXvnh6jVEOJoJr6Iyt4l+qBlSwzJTTqHThvES+FJLml0ZoqYo1BZeWBrCChjzU8/cFYaX0D+whS+E3Mq+LcpUCmrO3j1jVS3wHHW6qofuaM0u0WrJRKfGLxB/j1ja2TxcU2QhrVpQcxlu/7p+wM7AAWqEKiuPi2ncKrGgG938gFJF8p0iWlKjsZ9lOyue+1Gui5ZCcwK9pIE2/mILWZpZytuZaKwo24F67VBGONyUwvq053Ce08w8v+4HeLW+0njvuqB1ZF8CmG1YzgeUXppos4kUdaotNclBJVAbzFu6mZdOgQGkqSwWfINwdA8Nd+OTQmdHELWPDKkj9eeHl0yNBa2NB+rjJcmVZT4B9mN2seoNATBJPrWFFIiez4GtqQ40+yssb0H5xRDxOfhDWZuz58BAeJ6A1J6s8iCD/oI1iuhoU7OCj0qX44hIOBuwWSYVUiy0Kg9tz5Z69UAlUwWHNWEFYgmnCpsMKkFpYbNnpDvYov3l3i5U3otgHKE9KeznsqHNKFUb7HRr7iEVKNVe7g8GnyRIOLOzihAriky0d82rJnt8FF4Jt7MUr1kHxERAckRIa4uBLRe6yVqlHEMgK8dmustdeRLCsEPc1/NOd/LGf8ZKfV0W0Acx6a02SNrUAdfMnRRVJyh4Jv8t5a821zQ+AEjDUkTV2onvXGKQUk+4RL9p8Y8tjNGrPWwjOyfpuCm3iZzY8bN5OOjKSeuCAEfNLkiEKAA2TdMf/KmGfhojh4WGKLeqf6Ee9yZxIm/k3fqCiHRYOfYoX514jguorOI+o3xuUAQmL03cvWZeAOK6FTRaj+Wqo0qVk/Jl3r2vzp2NuW8BDFfp/0an4JcghJr8yLOiUHDDB2IDw9CCc59aOgCU8P/Ugt6wRpvVaPZBLvcXLwyJOOxqP/KwJ17krtgxT7OO3mWCdX/Zmo+uTKJ3HR16D5sCO1TnK9RS+DEUY3OTNRl3wK6Eap5vqYIoKsfkpc16dRZq9GbqEr5TRZAup38qtSSRN2S/n6w1bFGOqK8Vd0VGMBY9GAHveAPjIrmhh7bkYDVJzigqAsiZYqoLP6f5z2zulcNVB5c4aoB2zL8r9ampQ6WojOcjZ7lYejxD3a27DcaqNzk1r8a3MiXNa+6MO1lrT9r48NmZa4DqAYeP8g7qwzvy7bQZXVvQrdy1W5WPUdQKVWHEEyBnGuI+1z90dJ2RHyzOsGeh7fD2gJ4Yz9+T1CTdB/n0Ed3N3JKd2wvatEwMx3Zb0zm6Q+E87HsrSFOPNI6MMyvUumfvPzSoND7Bqi66PA9N1CT02FDN/58bH4w9vkbj+ZM7TqY/BCIlwbIQj45MMmBWOiYWd390+ASW9rKSN6ipW/dh/JiMvXbeNaBw3zSAtbZkUygPGyFYlnYbE0zGfNlT1pXrq3iEB7UeP17U1h4C7fFPiknJhtmqrVf9xOajTnKCuak+Ak8gE6WQhuA8QTxInp3EwNu5g== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 5ex2OVBw2Db6u6tJJ03/h00TY8hbjKr+98pLbeX9KV0yUkl/+DHjQHyAWB/K2SygsFsk2xS/R3SqJ2YcbgKFnwLMnpnm1t0ATlP+/KhnmLeJtepzA4sraY5b8FfzmpsD3ODRIdZBsQotlTje2QkWXGfisEsEoJx/73sfOr+v+qxwguWJMpfJjOjojHxSnRTLLsZPTEXmhv0KJXmj5cMkCmd/R6UmJiSAzSOr30J6X8lEF6n1h47mpgvj17H1Iw6BHnoVbLKez2wSMKz96ELxPn8hNdxT1AlKuSfqefo6y1bvL8mGTgroB5RMgsPxvzKX4yoCh8Uc1+cEarhXL7K/IZs6VVMK4dk7QcVpxAsAyyM0q8/h40xCxAM0wAiKJQhEBSOi17alpucAtK3yGAYqCwJ4iC8g3sBvAhGG6wfUrSSRGGHOmA1SfVC4kXDMxe0tng43YFuNrC4X1IgSy4Pw/h3364p986/QSJKMliV9If+j3zW1l1ALUajnYb3muORemkO6J2oEZD4zZ+XfR/1FRH9Cbmh5/ox5QBnAY/lI2UnrbrxuRAcHlHdZJE7RCGerw2yS3iZqoqt0Y/3ripFTRHly2LlJlVa4keGyPuQtx7JObGY/E9PxJZ076YvbVZ0+bbc6+o99qw4kyKYrqT5uLjw7/uk7WOQJgI1xpHfKjBG3OjUlFLXUChAXCYpOdVvinhB9zh8DZe8EdHwvs2ya3SJfMxJRe+hDOWRdvvv8FCLBqEN0mNFl1p9Vi1n6kJP/KBbBC+tfR2J8oh+6o4RX0RohOnfTw3VdJAWhDX3cmN/lST/EUxdmqMLvXeArHts6I7Y0e0bAg43atA2zOwORm7vb+RBDhS3KPpHLLXRnwhk8Pj1dJfdSZwFniQLiggR/RXZ7DYm/hLhO4TovF1CAyeFrAzsTyLkzi1QbVEt3e0uogI5uSib0bmieeXdB2FowNuVqFbKiwh8qHnru+C7ytmznmk4vZdQTBPPBfXep08QsE+xc9dtb1pf1XkNZVUogVrxEma6bOEykio6njxS2DuriWfKQmtAQEPAU0N6LLvjJWQTWd9kt+/tHKAz98+03PUcijohJFaMn6oSVdXlaI7tz0etEJ0gs6/ojfx19ot9Z4vUxmI4NvLuxLPmsQ3RWKHFH9ipjCukuXSUHnLbMuBXToisYy85Fpk4tUtmiPNdA3SF2aQjbbYYX6QqzhGe3EW2DSECvqDTLtccoirMOmDx/2KIZl32RBtW0vcY2CQ096Dwu8i635XueA6L7rPqQU0guWpkKzi/zwWpSXUib5IXC3cLDoox0KXGtGI2JfdatlP6GNudfZmGOiIfWzbrjxUHPZIK067K6C79vAKr6YD4T3raOthvhHciNHMz7zjrvNqU+sAM639qmkBgg9ToZv3jBjoZL9zpuCeQajpfSrXLqno3aXsuNXlOzdkxtvHo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b9b946e2-4b0d-4c1c-8a9c-08db78d60a39 X-MS-Exchange-CrossTenant-AuthSource: CO1PR10MB4531.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2023 19:21:29.3988 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lomf7q1lbeS+029FjTUf8qhPRfh9W+En2qmsby28qcVEtUWjTw/QHtz7cf+xnuISEj+2uGAK0iqo1OqWNY11SqyxWGl2ty6osSGqhKM6g1o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB7200 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-06-29_06,2023-06-27_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 bulkscore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306290174 X-Proofpoint-ORIG-GUID: 61ICmdlgMU9EblougI-RUJy8afwawlQx X-Proofpoint-GUID: 61ICmdlgMU9EblougI-RUJy8afwawlQx X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 721884001A X-Stat-Signature: kat4frnf45pf4e6agfdex5hrcyhrydgh X-Rspam-User: X-HE-Tag: 1688066507-675809 X-HE-Meta: U2FsdGVkX1/UyrVYejx2c3vE7tQzwppKMgn2Zu/z2kLrfXUsDs4d/TNcIPKqrXdplCM2bBeCu8yrL6APUfD7GKSzQZ5aXikxymhBHqbiuIf0NN/Sm64kegMGgp2Ps/9EKu5T9tECD7fubHLQOKa77BzIjktW+tHkPN9DR6GmHYi/ULflH9s8C63259yyApvn7YvipZwdAuDDfoSHJqfFY+h3/MAWV2Kd0kchCKHvTKFVSFWwK2CYdA/rTnszygsD2DoWWZ7FlZekqWOBwZmzD52UvVmdss9KhCAkMhZC41FSJLLLBp08bpWlQMEGJnpucFwoHRe7b3scCYVE/AYFaO4zS1Beh1TGQMcc02PJre2upcT5nosZDyXhW9tlP9kkGh4DCEocDtsUTlnxVW/KOychVcRj7YpofnG5/xMj1uhEcBrKBhN5RcAPs2xzb87vXLwvLI2Byau1fqwcvjNWD7RlkdJJ6rAbW4dOvO2KQkUOk0YmVNst6JK4+E1d+48+PNoNFHmzwpZJKP43aMNCY+CgWAOsqdBFobHacYvrct7yP6Iu+p3aHzK9h/PJJijQcz7lCxngM19SLRw9VW2/1lcJeRnFTq5/2wZsOT+PXaNz4ccoJ0PKr6CW5f9gJoi76kCECw0Bpe4JaNoy+wNCCwJaWd+RQoK2dD22uGUEyqtKz3/ggCQMX1V9aX1UGk5ITnhB18E46faW8q8QbNCLWvtim6xEOD4j55cZB2kSAXRiCZxu5Ed4YqPcrPjUsMUJgFhCjuN7o1Wxsnbz/yuayQocUsl0SQ41qanLJluv4OlFh7GV7XWvsuY7YxtqrXTmgx34T9Fr6SBAh9/KWKokAr7LhIltCr8QyAtwcY86DLvVjXpDT/pfq6rzrfxdR2xfF27KNzEwAbnIkgVFIyoXfuH3ShoQPYp6V6vSLaH3+QArOZlrDpxSLuIdJJNrBuAZcWNLCe+HSa7vhlfMfoy mVyyXJym m3Wyx1eSh0SGeT7iZKjD3TjTyCfWVa5xWjcLPEcsOTzbLofzRDJ5jUFMxyq2FutIcRqrflK5JzFuyH6KWu3YDe0a8Mp5MOPtRSmZ+lwwEvn7++zZ0fEoz80aTOxnI6ZunhpKbDHoMj14TXB/zgtkLBNbF0CqNxMwd65g4XARxNjToCbsbvU00tiuRa6i4RRpBJqDlpkFq8l6uUbKuu6vExs0GDjgzKZjxENZk2yrQILRcbN1JSEFn561qHGq2C5mRXOPS32yd/nYXbUj83JRUSfdin2zsFGE2UjH12QI1iGd4FaX8/zZ3dNk/EOAdAUlYI6Z1U40jt/i4+tEruG6B9Zi5ijaIZ4xicCFXGG1oO+rKjr9LWxvPiXctMvRoiFR7xIxPQY7Gpjhfx05OgX8NO6WBDdlve5xCN4WIKaqOCSJy8pcUGbnEW60OCU2/BjKeLXZyYQeGUSG3yjhbUKyQsq5KpeIcJE+IA9MfIfjs+Ral81WdF9FVrkiE8kxw4uyreqf9VvTbvgFDBfzVjdxGLysE6Xv2ERzs3fGJC+H4F7Yc7SnLNzSV0KfQWg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Greg Kroah-Hartman requested that this file use the .is_visible() method instead of #ifdefs for the attributes in cpu.c. static struct attribute *cpu_root_attrs[] = { #ifdef CONFIG_ARCH_CPU_PROBE_RELEASE &dev_attr_probe.attr, &dev_attr_release.attr, #endif &cpu_attrs[0].attr.attr, &cpu_attrs[1].attr.attr, &cpu_attrs[2].attr.attr, &dev_attr_kernel_max.attr, &dev_attr_offline.attr, &dev_attr_isolated.attr, #ifdef CONFIG_NO_HZ_FULL &dev_attr_nohz_full.attr, #endif #ifdef CONFIG_GENERIC_CPU_AUTOPROBE &dev_attr_modalias.attr, #endif NULL }; To that end: - the .is_visible() method is implemented, and IS_ENABLED(), rather than #ifdef, is used to determine the visibility of the attribute. - the DEVICE_ATTR() attributes are moved outside of #ifdefs, so that those structs are always present for the cpu_root_attrs[]. - the function body of the callback functions are now wrapped with IS_ENABLED(); as the callback function must exist now that the attribute is always compiled-in (though not necessarily visible). No functionality change intended. Signed-off-by: Eric DeVolder --- drivers/base/cpu.c | 125 +++++++++++++++++++++++++++---------------- include/linux/tick.h | 2 +- 2 files changed, 81 insertions(+), 46 deletions(-) diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c index c1815b9dae68..2455cbcebc87 100644 --- a/drivers/base/cpu.c +++ b/drivers/base/cpu.c @@ -82,24 +82,27 @@ void unregister_cpu(struct cpu *cpu) per_cpu(cpu_sys_devices, logical_cpu) = NULL; return; } +#endif /* CONFIG_HOTPLUG_CPU */ -#ifdef CONFIG_ARCH_CPU_PROBE_RELEASE static ssize_t cpu_probe_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { - ssize_t cnt; - int ret; + if (IS_ENABLED(CONFIG_ARCH_CPU_PROBE_RELEASE)) { + ssize_t cnt; + int ret; - ret = lock_device_hotplug_sysfs(); - if (ret) - return ret; + ret = lock_device_hotplug_sysfs(); + if (ret) + return ret; - cnt = arch_cpu_probe(buf, count); + cnt = arch_cpu_probe(buf, count); - unlock_device_hotplug(); - return cnt; + unlock_device_hotplug(); + return cnt; + } + return 0; } static ssize_t cpu_release_store(struct device *dev, @@ -107,23 +110,24 @@ static ssize_t cpu_release_store(struct device *dev, const char *buf, size_t count) { - ssize_t cnt; - int ret; + if (IS_ENABLED(CONFIG_ARCH_CPU_PROBE_RELEASE)) { + ssize_t cnt; + int ret; - ret = lock_device_hotplug_sysfs(); - if (ret) - return ret; + ret = lock_device_hotplug_sysfs(); + if (ret) + return ret; - cnt = arch_cpu_release(buf, count); + cnt = arch_cpu_release(buf, count); - unlock_device_hotplug(); - return cnt; + unlock_device_hotplug(); + return cnt; + } + return 0; } static DEVICE_ATTR(probe, S_IWUSR, NULL, cpu_probe_store); static DEVICE_ATTR(release, S_IWUSR, NULL, cpu_release_store); -#endif /* CONFIG_ARCH_CPU_PROBE_RELEASE */ -#endif /* CONFIG_HOTPLUG_CPU */ #ifdef CONFIG_KEXEC #include @@ -273,14 +277,14 @@ static ssize_t print_cpus_isolated(struct device *dev, } static DEVICE_ATTR(isolated, 0444, print_cpus_isolated, NULL); -#ifdef CONFIG_NO_HZ_FULL static ssize_t print_cpus_nohz_full(struct device *dev, struct device_attribute *attr, char *buf) { - return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(tick_nohz_full_mask)); + if (IS_ENABLED(CONFIG_NO_HZ_FULL)) + return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(tick_nohz_full_mask)); + return 0; } static DEVICE_ATTR(nohz_full, 0444, print_cpus_nohz_full, NULL); -#endif static void cpu_device_release(struct device *dev) { @@ -301,30 +305,32 @@ static void cpu_device_release(struct device *dev) */ } -#ifdef CONFIG_GENERIC_CPU_AUTOPROBE static ssize_t print_cpu_modalias(struct device *dev, struct device_attribute *attr, char *buf) { int len = 0; - u32 i; - - len += sysfs_emit_at(buf, len, - "cpu:type:" CPU_FEATURE_TYPEFMT ":feature:", - CPU_FEATURE_TYPEVAL); - - for (i = 0; i < MAX_CPU_FEATURES; i++) - if (cpu_have_feature(i)) { - if (len + sizeof(",XXXX\n") >= PAGE_SIZE) { - WARN(1, "CPU features overflow page\n"); - break; + if (IS_ENABLED(CONFIG_GENERIC_CPU_AUTOPROBE)) { + u32 i; + + len += sysfs_emit_at(buf, len, + "cpu:type:" CPU_FEATURE_TYPEFMT ":feature:", + CPU_FEATURE_TYPEVAL); + + for (i = 0; i < MAX_CPU_FEATURES; i++) + if (cpu_have_feature(i)) { + if (len + sizeof(",XXXX\n") >= PAGE_SIZE) { + WARN(1, "CPU features overflow page\n"); + break; + } + len += sysfs_emit_at(buf, len, ",%04X", i); } - len += sysfs_emit_at(buf, len, ",%04X", i); - } - len += sysfs_emit_at(buf, len, "\n"); + len += sysfs_emit_at(buf, len, "\n"); + } return len; } +#ifdef CONFIG_GENERIC_CPU_AUTOPROBE static int cpu_uevent(const struct device *dev, struct kobj_uevent_env *env) { char *buf = kzalloc(PAGE_SIZE, GFP_KERNEL); @@ -451,32 +457,61 @@ struct device *cpu_device_create(struct device *parent, void *drvdata, } EXPORT_SYMBOL_GPL(cpu_device_create); -#ifdef CONFIG_GENERIC_CPU_AUTOPROBE static DEVICE_ATTR(modalias, 0444, print_cpu_modalias, NULL); -#endif static struct attribute *cpu_root_attrs[] = { -#ifdef CONFIG_ARCH_CPU_PROBE_RELEASE &dev_attr_probe.attr, &dev_attr_release.attr, -#endif &cpu_attrs[0].attr.attr, &cpu_attrs[1].attr.attr, &cpu_attrs[2].attr.attr, &dev_attr_kernel_max.attr, &dev_attr_offline.attr, &dev_attr_isolated.attr, -#ifdef CONFIG_NO_HZ_FULL &dev_attr_nohz_full.attr, -#endif -#ifdef CONFIG_GENERIC_CPU_AUTOPROBE &dev_attr_modalias.attr, -#endif NULL }; +static umode_t +cpu_root_attr_is_visible(struct kobject *kobj, + struct attribute *attr, int unused) +{ + umode_t mode = attr->mode; + + if (IS_ENABLED(CONFIG_ARCH_CPU_PROBE_RELEASE)) { + if (attr == &dev_attr_probe.attr) + return mode; + if (attr == &dev_attr_release.attr) + return mode; + } + if (attr == &cpu_attrs[0].attr.attr) + return mode; + if (attr == &cpu_attrs[1].attr.attr) + return mode; + if (attr == &cpu_attrs[2].attr.attr) + return mode; + if (attr == &dev_attr_kernel_max.attr) + return mode; + if (attr == &dev_attr_offline.attr) + return mode; + if (attr == &dev_attr_isolated.attr) + return mode; + if (IS_ENABLED(CONFIG_NO_HZ_FULL)) { + if (attr == &dev_attr_nohz_full.attr) + return mode; + } + if (IS_ENABLED(CONFIG_GENERIC_CPU_AUTOPROBE)) { + if (attr == &dev_attr_modalias.attr) + return mode; + } + + return 0; +} + static const struct attribute_group cpu_root_attr_group = { .attrs = cpu_root_attrs, + .is_visible = cpu_root_attr_is_visible, }; static const struct attribute_group *cpu_root_attr_groups[] = { diff --git a/include/linux/tick.h b/include/linux/tick.h index 9459fef5b857..a05fdd4b21f4 100644 --- a/include/linux/tick.h +++ b/include/linux/tick.h @@ -174,9 +174,9 @@ static inline u64 get_cpu_iowait_time_us(int cpu, u64 *unused) { return -1; } static inline void tick_nohz_idle_stop_tick_protected(void) { } #endif /* !CONFIG_NO_HZ_COMMON */ +extern cpumask_var_t tick_nohz_full_mask; #ifdef CONFIG_NO_HZ_FULL extern bool tick_nohz_full_running; -extern cpumask_var_t tick_nohz_full_mask; static inline bool tick_nohz_full_enabled(void) {