From mboxrd@z Thu Jan 1 00:00:00 1970 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 44D45E77198 for ; Mon, 6 Jan 2025 10:53:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6B1586B0088; Mon, 6 Jan 2025 05:53:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 639C86B0089; Mon, 6 Jan 2025 05:53:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 43DE86B008A; Mon, 6 Jan 2025 05:53:05 -0500 (EST) 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 1E19E6B0088 for ; Mon, 6 Jan 2025 05:53:05 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id BFEDF121455 for ; Mon, 6 Jan 2025 10:53:04 +0000 (UTC) X-FDA: 82976714688.07.001B0F7 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf30.hostedemail.com (Postfix) with ESMTP id 591C98000F for ; Mon, 6 Jan 2025 10:53:01 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=KDYTj4tC; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=aivMy8NA; spf=pass (imf30.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736160781; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=0YPXMrhKiVnvjmhPtmdB2edbty1j1l02HowRnAwb6yM=; b=Bv6bC4LoGmA1B0UZLuEym2ovsTEFUp86giDwwRrAdvB7GuESvOhzQP2OpI8oyGKI+Ae/hZ SL/B7iV40n/wv/ELjoSrwTEx8xX+8S3CRT02Sb0we/JstpYdja0CtYAGLmh4kGR8x5CCCc F1L2Oq0U0yNHz/4aeUUtZipZXsmYMCk= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1736160781; a=rsa-sha256; cv=pass; b=5Ll66+d4IdykBKhB7JdXXr8RWMroDCWfS7ve3WPiceqfnM35N/DH9Tp5IclA7+smmcVTYm i9G9nRnmvB/TWRZfBHNi9KREAg2XAlAjZX5jaK/SfC2RPoq0Lp6nHRbyqniNwBL5WpsJfi iEttmfEJ+55OgFd4VRO/sIqR3WoiLsk= ARC-Authentication-Results: i=2; imf30.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=KDYTj4tC; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=aivMy8NA; spf=pass (imf30.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5068tou5011155; Mon, 6 Jan 2025 10:52:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2023-11-20; bh=0YPXMrhKiVnvjmhPtm dB2edbty1j1l02HowRnAwb6yM=; b=KDYTj4tChI+8+pAuH74bfp0Ki7Pgv3YW5b qIyiFXpz+HDQrOWqNLL/F7nrzoyIWMQIHuv4c/gAesfAmW68oTNGNrKG5FvQaH87 hSdKvfu14yWjUC1ol9q/WrRIvRT7NZeaJhxjyEPVbsPJ4V4Kkunbj+VgbMbaBv3T VeGgeME/sMvMZ5b9ZZV2v1M6VC1ao1W+5ESJ19V1/aeNG5jZ6x3Z6JFT/4LO35gD LdLKeCRZOzNX58VF6dQ6ZTIzqbS93cbQak7OuUCNqYJI60APOyciY4T9YaSWbgFn hkbB1c8WCCS5urIFoeWY5vpKzmWlXRbdmNp9w760iTah138lVN2Q== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 43xuk02kve-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 06 Jan 2025 10:52:51 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 506AW3PA008568; Mon, 6 Jan 2025 10:52:50 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2171.outbound.protection.outlook.com [104.47.58.171]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 43xue6wdc6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 06 Jan 2025 10:52:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XE4HRGe3+MOrAo/p6D+5RS2JuwlwgOT0BRjKhGtp55WEy55a7sJY/gdIKbgSJ94WjOhhA+wwPMU16GRnK4gbHBHXVnJDjz0xrkDzbYF8Udhs+JelNTrJaozoDLRUj9J2EthaGrjGqerOjEFZWyF3XBSES2wlnXRWthwN/Pn5s4N+e00jHZ0bTqvgq6l4TLkojIAVkpgh06vUPO266rkcFcir2vvweMfWmcdo0A3ksWx10D64Z9GtsDXrDS5AGA0Bv0KThDq7Ae2RtwMD5kU2pHUquTaVwfZ73nh1o6xhaW5GQ1pM7rgqHisnIGGbAmqB3VfcZSiw4UYt6fGPK8gmFA== 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=0YPXMrhKiVnvjmhPtmdB2edbty1j1l02HowRnAwb6yM=; b=nsz9UT9hdrjnhqLgaIpGKXKY4X6AcJ7stJsDJ2Vwgr2xRN+fM3tDPgYF3stBJkFwT63GJq0Qwlyf2yGhsit8Py2EOrBEG3uAPP7oP2npNLdkTm37ZUnMQPj0liFj4JZNE88HFWb6BxHQ+D04NvfxlBbL7/bAWCMfGF6dDDGOkZ/qj7YzG77z8TiebYSUM+NUSYVyHar1Jr9YWUs3W9Rcg7p8Mn5Ymd7WBwN3h9uAv99MBuEOpZjB09HtF1sLg6k/CrkD8nphH+zEbUCCKlCMPvZEq5RuPVghPtXv+KL4VOmFXhMEklEfufkNngbi2vUibcY7doG3P6oyngYaytXT9Q== 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=0YPXMrhKiVnvjmhPtmdB2edbty1j1l02HowRnAwb6yM=; b=aivMy8NAlkQU0zKycKS5jB+eDMGnGPMmzvBY3Mr2uuLZ3iu3qQn+49OrDSv0FzRq9vUW021jPfA5gRH53kWnNNr9e4uEYLfpd1OGhsGVTkOc7nSFK1+p+wNIWImvUQA28ErNDPBf9V5IK2sox4z5qFzT+Wse9H9jDGv86sb6uOs= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by PH7PR10MB7088.namprd10.prod.outlook.com (2603:10b6:510:268::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.17; Mon, 6 Jan 2025 10:52:44 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%4]) with mapi id 15.20.8314.015; Mon, 6 Jan 2025 10:52:44 +0000 Date: Mon, 6 Jan 2025 10:52:37 +0000 From: Lorenzo Stoakes To: Koichiro Den Cc: linux-mm@kvack.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Thomas Gleixner , Peter Zijlstra Subject: Re: [PATCH v2] vmstat: disable vmstat_work on vmstat_cpu_down_prep() Message-ID: <7ed97096-859e-46d0-8f27-16a2298a8914@lucifer.local> References: <20241221033321.4154409-1-koichiro.den@canonical.com> <2q7ge6cgzeowqffyn6w6ed4trhaaumv5ubdgud2tsoolen7wpw@4akuomhbacyh> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2q7ge6cgzeowqffyn6w6ed4trhaaumv5ubdgud2tsoolen7wpw@4akuomhbacyh> X-ClientProxiedBy: LO2P265CA0313.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a4::13) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|PH7PR10MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: 732feedc-22e4-40ea-1174-08dd2e403fbc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?76v+1msR1MxJXWc0SKytaGTRr9fFzQ8epvF7BZEHT9Pm/tC7U7F6KARaLzKB?= =?us-ascii?Q?QpUe0TYjMLUksN+hPfHVByCpND1wQ3mwkIfkMQ66cDSmvxb2IxOM+td7AkoH?= =?us-ascii?Q?lkTloXyz9O3kk+OIcAViwzMvMEa/tYEAWPlW4VExk3XlNM2aXiaISX0+RUlw?= =?us-ascii?Q?GJ/AMzVQC1OXu0xJelec4mNp5wSvVQoG3Ibyptw5BAk8/MnAlWuSiNcmCBtX?= =?us-ascii?Q?YVF2NkaeYHTFs2Cb+xHrXbgtzFEgOoMdkcKVPY0Yu3G8iKZEZ97QHpIshE7/?= =?us-ascii?Q?Oa+wXpvPOLMLa6wYJmt4HmRFLCv8p3RUCZ2zVt2dXbc0n3m72Sz+rfbbE6ud?= =?us-ascii?Q?0dsCE57/rCAYWV8XrlyCybauG3+Ms2ImUELhz6b451nuV+pZORXZtu2RMRwP?= =?us-ascii?Q?EZEabpWrwqnplypv4Vm92feMR81pWqeuCJbZIHPBITBbCZ+JSiFe91E23eYB?= =?us-ascii?Q?3NCspf9aiySXbJHHdy4nMpDfoaGlx0wqNnALPncHYP7tzlsAIqaEoltS/Cmb?= =?us-ascii?Q?Hnm2ifJwm3+D/iHIIfc9WlrRWAO3Ar8UADPfDYrOHLY/EcbYGYBQzlAgPYwL?= =?us-ascii?Q?GRZKJ6OvQwgiMR2VUmfWIYjv8yHL4n074Pp893dQY2IhQgEN0c5dgmbNWTxP?= =?us-ascii?Q?adP1RPIcijnXjfdzLb64txLADBISRQplyr2fHU6qMmXkQN6Z09/K6+rzxy/j?= =?us-ascii?Q?BYlPU4nc+0tMOg/NUh+6yqlFbE4KFeUMlLg6bVT3mHPzAFehzjtEgvvgoWuT?= =?us-ascii?Q?BOHv4bnXX0dZMwaDKfhnpmlZN5p3r9dXjBjfDcnMvXELmjl+8phKaEy+txcI?= =?us-ascii?Q?s34gmfcJbEZsXipnL2Y0co22Lc7kr+MFMDEOPIkxmqIeUFSSNQj4xEcxBH7B?= =?us-ascii?Q?hs3O1zpA0reWcE3KyMJQV0SlTaJxjsB0NbRLBTBeB8EZJd4YblyeVy8m6K3I?= =?us-ascii?Q?k/o9ZKnYnk4uLyZuflSdnkL7gppskU/4reSx/lFjwSrMgMYhTFxkRprKZ4+o?= =?us-ascii?Q?zuUw2hkjm2Bhbcug+YyeDP+0kJ3lPNtlAUuUE7qFJDGE9syMXpJRrKescS8I?= =?us-ascii?Q?DDpWNulbsqhFYvIByAspyJzr/QdySFzkqRuIPRxJsSoC/EWDvsLeel+JCACt?= =?us-ascii?Q?KaCQoZ5EXPIP4z1ry3w1Pm8LCGQEyJxeh0aL2llqZy6rU2ViWK6clYvOhjMj?= =?us-ascii?Q?Yx1y/d2RE7Ls4dlOF4ZIOAajPigsJhjsEEaEWOahPo5DkaMTSb1UmjnAh1UC?= =?us-ascii?Q?xaKrgsLybaHb3suCv/HSMu72eBiCGCRTqOlDwPNO09a832srGtb4s0sMiQZ7?= =?us-ascii?Q?JQ4cRx2mcxrtndT4P1nlUeuWKe6TsJOLdiNis0yZXh6X2a2XXQj38vrY7TLp?= =?us-ascii?Q?mZIS5iMS/NV1SoIMysQs6xLzhW7b?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB3366.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vnH2Ud7vPfVBQrqx3hjtPdU0EYdubC3EwniJS/FDvCFnq4gRpgssJR5gtS4E?= =?us-ascii?Q?vR3B0OrntaamskYMBU2FWkmUQKXXt2ztt2uu0qb81jgHI1f0et9gz5gBBzy0?= =?us-ascii?Q?NaL4ifu5LAaQRu9IEEYPeHZUj9AO1t/AtwwJ+rDmWKY/tk5q/qhuUcYMkYfq?= =?us-ascii?Q?+6bdXVMxUbTCw82EcEiKamKCJvfLBdO20SfGwbvfPm49m5/UsmKEURC92NdG?= =?us-ascii?Q?VfGTt3hxLsX8J/EwU3xxHM5rT8bHR2HlkjgrJbHTTzwslqKGhHZ4GkCte3rY?= =?us-ascii?Q?VJnTRI+/ICvrrGtCqn1YP2KMwrDUYfFk66HaQhw5Vjkf19IDFB2rnBHi5mUI?= =?us-ascii?Q?DVsM+95fhs0jKjeuv0vmzCB6bl/wYXmYri063M6D88YoKqkpmEvW/dFBF3Lb?= =?us-ascii?Q?DhBnJBv3WvdAiIeanGhxT1w4emziemP7PozrEGlmhhsAxMXnjD+nMKAR+sqG?= =?us-ascii?Q?MSIdMQ11xLKnYOYKtQeOqEEijWsEeYVQIHHqM0O93rWLg8yx9Dftq8jQQUlS?= =?us-ascii?Q?X5GoA5P4rcxCQBUy2RD0cDdaa5vSNCFP3/Sm2M6PGQ83ybn+sjteqLACXBGc?= =?us-ascii?Q?JChds0QbwkmyZEkG+Ronmt9WbiJWGMua8sgzxXnM13a+glfxgHVoyxz9+uLA?= =?us-ascii?Q?8k1YvT1uAzItgozwQCfyypkjR7mNFxEyjH7DPIemsxPHHOrWvTza1R4s0BJq?= =?us-ascii?Q?83JlY412rZqsL2fZdNV4RjRY3189fieBffNbKIpi3YPEQ4H2Ko8sJsHU+5j8?= =?us-ascii?Q?z8d90DexIFP41su+vP7YnBGn+2JHQSKbhOp90GaFPoLADZy/puypKJK+7Boi?= =?us-ascii?Q?lxvvaEkODIdqxzyJ6PhfbYtp9XKT+CoseoCzHzNSCaEbwRp0SrOlJyFzZcEq?= =?us-ascii?Q?Ern3/WAgPdHXM2uA7oqkMLU6fd5KvB/z4qnWoMjJ+mbF8zhHzrrgIbzUx5iV?= =?us-ascii?Q?WlfI6DjCW5TM2OjsxURFy14AK0CD6Uq0bLnxj2qzcW2KxHPwDQDTSocpmfBh?= =?us-ascii?Q?l0mlhAxrNv1NgMb+3DejK1A+CwqS4CBGXSDJDKb8m5SOh5vmjIhfm/1FuC55?= =?us-ascii?Q?5uM6a7ZDTGPmFy4tbSKgNePoRPp0L8J7PNtXcwGS4NjYyVw92eFpuw2qlisM?= =?us-ascii?Q?conXZdmPi2bGB1WAzjqCPlf7nCRE8jSEkLxSLDvCZ0SwtXTE9YCHJ9Kbozyk?= =?us-ascii?Q?2AUfCrOT1TJRXCbEpyvTWwb9OUnBu/gdoZTWJ4h52IN4+rLGGPRWLXJ6IcSE?= =?us-ascii?Q?r+PITNN2czLxbGLgpLZViQTiH/1SYEMbauKLX2ioLCoHVquLQP+pY38zTnHt?= =?us-ascii?Q?sMYzYFMWmDgqHKvdjPOVySJVIEE/H8P7HxsFo74C2Vm69RUNIMEdyquu/DkD?= =?us-ascii?Q?uafkyISvl9ZlTsFgd+D4bzAzlK7weJg2lX04JE3OotMmvnGhXZqjCoqtbq+f?= =?us-ascii?Q?dS7L6mbAspiPgxkfsxziS5Y9Vr0skwABMz3my5vE+RecYzPbXYzGIvbyvQEY?= =?us-ascii?Q?o7tKgAaZjrDmGiuRQsPz1GriUPNmAX9Un5OyQmBujOKE4Oh4/E9SFvzo9S2f?= =?us-ascii?Q?5ND/NamvZzP2JpgDWb08G719DaCWH72loSwrQUa1JcGjmUsZLy8w+Hiz92wy?= =?us-ascii?Q?Bg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: vs6WI2zUZ4lZvQUchypPqebjn5kIXZH+DvIXsP6Llw34N5fnrfZYCocdlFZC9yCOzBRD+lq1XB8bxwWRGCXrSicjHjOEjms5lD5Azt/hxNmui/QN+vdmU5FndF4020vsMUjTszmmEKa3FFarthOqcW7FoNdx5Lbh9d63b66ll/pwzIF8F7IZLYmgn+gJnOzpsvscVoUzfb9O5/3wsN4xa4HOVzgnJl6JzjP/Ti5tof0Mpw6WwOI9zdCJHy29vPAttbD9p/JeYnQkMuNWt96j5W2ufBnT5K3Lau7g2bgpe3gCPc5EBt2FDeumZrJ3XagzpGrX4qreihUMdoX2wd0q2fjS4l7tvFurRxq+A7PtioS+wDxLm7ZLtbyIKr+JAKKGH9qLhbUL7lG9tUodvAOEpnRDbKwm0MTlt4rifJB2CdFJZSSCQ7escqmvdCd96/Yu44WRvse1JNbSGXJyUEqluA+IX1wY4StV101jwWCHhtNDVCr9YGXaSK08cpWbAUaLzmoJu5dr9YurD/sdKcuWmNigk9j3kagzMB56Tzyy8XMnTUk53dtby9Pr4Sgua5XScCR3lCu87grO9A78aHEG4dRwyfINa+5ZZmVGdwY1Iuw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 732feedc-22e4-40ea-1174-08dd2e403fbc X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2025 10:52:44.1058 (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: 5hfu6MH/MHuO5WLlHpQQD4vipTJqdfygUHuNwaGx87Oyng/ZQFHAjz0ajjRS20kpWDO4WqebF/d/N/AauO++oBxxBBxHIsRMHYxf7XV+Af4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB7088 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-02_03,2025-01-06_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 malwarescore=0 adultscore=0 mlxlogscore=999 suspectscore=0 mlxscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501060096 X-Proofpoint-ORIG-GUID: 0UT9uHieH5puc8hFioNAjg8szOFJI1MR X-Proofpoint-GUID: 0UT9uHieH5puc8hFioNAjg8szOFJI1MR X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 591C98000F X-Stat-Signature: d8ddureeftwp8gyt6exemqn6f1i9anws X-Rspam-User: X-HE-Tag: 1736160781-692283 X-HE-Meta: U2FsdGVkX18xv2Hni3mJ7JjoDb082cJeuwWWMU7VMnV5MLhbXx3DDabHkUb84sjHewhR2ldDiN9iPD2MhrcmlilS45nOAy2EUMJvMtvN7r2ePjDr70fECthg9R4B9x+YP8D0DFO55M/cyM9Itv7RceA+n+nbMh/P/o3NafKtsBJDrh2EJHhjtRA7vnjNtjeVEhWtb00AWtMGmsNDnq7Zf02EYtEpkgtGTTGoep+2WjVqEMaeSZyoU2R5XoLICR29Xng10CR21Bfotjl79qadTnHzZMpHG65eDfs522FH8WnSlN4z2d+iokdpLd4XXhdZ0sfZoDuJwllr9/ssBVTfTVj7L4PPAdlc5DFWHwDnhlWrxm5J8QM1SeQcw7X0f+yt+iEYdmcIhE/f08MM6pJAHakoCh1hDGVSKdZFcdJnf1LBX887jQmAcEjzpHxoYuBxsfRU+QXoPp6O+Ym+ZY12DxNLcG+jSXDc0DjjyS/rBo0ydNh0VBIuQaXb4QNV3RZpPOroyc24huzIYcI31wjnLyEoAedPKdjGkwoV+xJE29VH6Ledk0JZJMe3CPS2Bj9eDl//2NiPXZ3xR4aQAHmxqRXBw76od9iW/Es9Gfc6zQy8WPAGHIsrQthmMpBn8ZujukQX3DtHLHJMzATiQ8z4xgIcx1YP3jvbbDjVSOrfpl99JCdAJdJfgxMEZQWpQ3HU1SU1BiwlhfshkNjjCqlqOW1vfQ5td4EiAP+hLhq06QI83v5e+LBe7CKMYBiIeDZewWjlFJONaRp8MpdrnoRiNLDeX1XL4YwngLligYGntcuFH2hxcvXIo1BSBqAmmdCqwaJIKXzT5KT07KG0tTQgsGvhjC4o6vsYZiLUJ8kgdDJj+2s5cUCQvQrJ6o5UXOP3XIqYgt3ABnMSOjEMIhr3ZU5Hfu7aoRgWqGr1zGk1QYFp+GTo83xMcjT7afEYrAEwPreJ/x2KdkyAuIOCn/H ZzCUh1HO WlzYJ8vtuNIA1r1lUo7jgq9vBTUnOMG4mPFT96GO5jiUBU3r6SVM8S5opNPrWkPUj+ywGGf48ewmJZv9ZZlmHzIyRTvIymuYptOUzDyS0NYBTA9KeNC6JnkhtJBvpkG6pcfpEyor1LQ8155KLGmnZv8uRt9RgXCHLu6tpamZUYkkk24vMz71/pPHPmnY264rYJEiiuLUrDY9LyfdzzI2KLkI+nJtitK6jl5vcftuGHn09KAIIzu3uArQjrPDOPyl75vb2xc0DZHogA5VhAkoL02xU+k7lnhSPFwPFHwdnUW9kAT4refT8NFN+l465Xkar8s2utUaqDXdXWoH4cP6jvs+I2Utb2HvXvmoKxR5ge8TES0BpQsqzprk1YPoCnX4Wco8S9JavMe8sggT1Ucj0dpA42zAjjyu548FQnivKhP70tohXpw5ui06OPi4I7cY8APX3CUArPBjgetG1CSu/9B2noFt9qQGjGtNjm+eOZYeuX1E0QYCSRoEqg4Cim5S8v3WdmH2KhQ2x63nfcKacfO6kIMSjUV42w/5AfOM6CyiZxEW4PlBeTXM2o1aeahGgJnDDzqUnYYBJvGbXc84HjFRiwYeJS+Dvf3iKDJ9QcehnJajOh4GrCBDlkzyPWECTMQAK5aIiX4c3aDlNTPHeDly36w/yw8IUKztTdgi1w2tBO2s= 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: List-Subscribe: List-Unsubscribe: +cc tglx, peterz for insight on CPU hot plug On Sat, Jan 04, 2025 at 01:00:17PM +0900, Koichiro Den wrote: > On Fri, Jan 03, 2025 at 11:33:19PM +0000, Lorenzo Stoakes wrote: > > On Sat, Dec 21, 2024 at 12:33:20PM +0900, Koichiro Den wrote: > > > Even after mm/vmstat:online teardown, shepherd may still queue work for > > > the dying cpu until the cpu is removed from online mask. While it's > > > quite rare, this means that after unbind_workers() unbinds a per-cpu > > > kworker, it potentially runs vmstat_update for the dying CPU on an > > > irrelevant cpu before entering atomic AP states. > > > When CONFIG_DEBUG_PREEMPT=y, it results in the following error with the > > > backtrace. > > > > > > BUG: using smp_processor_id() in preemptible [00000000] code: \ > > > kworker/7:3/1702 > > > caller is refresh_cpu_vm_stats+0x235/0x5f0 > > > CPU: 0 UID: 0 PID: 1702 Comm: kworker/7:3 Tainted: G > > > Tainted: [N]=TEST > > > Workqueue: mm_percpu_wq vmstat_update > > > Call Trace: > > > > > > dump_stack_lvl+0x8d/0xb0 > > > check_preemption_disabled+0xce/0xe0 > > > refresh_cpu_vm_stats+0x235/0x5f0 > > > vmstat_update+0x17/0xa0 > > > process_one_work+0x869/0x1aa0 > > > worker_thread+0x5e5/0x1100 > > > kthread+0x29e/0x380 > > > ret_from_fork+0x2d/0x70 > > > ret_from_fork_asm+0x1a/0x30 > > > > > > > > > So, for mm/vmstat:online, disable vmstat_work reliably on teardown and > > > symmetrically enable it on startup. > > > > > > Signed-off-by: Koichiro Den > > > > Hi, > > > > I observed a warning in my qemu and real hardware, which I bisected to this commit: > > > > [ 0.087733] ------------[ cut here ]------------ > > [ 0.087733] workqueue: work disable count underflowed > > [ 0.087733] WARNING: CPU: 1 PID: 21 at kernel/workqueue.c:4313 enable_work+0xb5/0xc0 > > > > This is: > > > > static void work_offqd_enable(struct work_offq_data *offqd) > > { > > if (likely(offqd->disable > 0)) > > offqd->disable--; > > else > > WARN_ONCE(true, "workqueue: work disable count underflowed\n"); <-- this line > > } > > > > So (based on this code) presumably an enable is only required if previously > > disabled, and this code is being called on startup unconditionally without > > the work having been disabled previously? I'm not hugely familiar with > > delayed workqueue implementation details. > > > > [ 0.087733] Modules linked in: > > [ 0.087733] CPU: 1 UID: 0 PID: 21 Comm: cpuhp/1 Not tainted 6.13.0-rc4+ #58 > > [ 0.087733] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Arch Linux 1.16.3-1-1 04/01/2014 > > [ 0.087733] RIP: 0010:enable_work+0xb5/0xc0 > > [ 0.087733] Code: 6f b8 01 00 74 0f 31 d2 be 01 00 00 00 eb b5 90 0f 0b 90 eb ca c6 05 60 6f b8 01 01 90 48 c7 c7 b0 a9 6e 82 e8 4c a4 fd ff 90 <0f> 0b 90 90 eb d6 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 > > [ 0.087733] RSP: 0018:ffffc900000cbe30 EFLAGS: 00010092 > > [ 0.087733] RAX: 0000000000000029 RBX: ffff888263ca9d60 RCX: 0000000000000000 > > [ 0.087733] RDX: 0000000000000001 RSI: ffffc900000cbce8 RDI: 0000000000000001 > > [ 0.087733] RBP: ffffc900000cbe30 R08: 00000000ffffdfff R09: ffffffff82b12f08 > > [ 0.087733] R10: 0000000000000003 R11: 0000000000000002 R12: 00000000000000c4 > > [ 0.087733] R13: ffffffff81278d90 R14: 0000000000000000 R15: ffff888263c9c648 > > [ 0.087733] FS: 0000000000000000(0000) GS:ffff888263c80000(0000) knlGS:0000000000000000 > > [ 0.087733] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > [ 0.087733] CR2: 0000000000000000 CR3: 0000000002a2e000 CR4: 0000000000750ef0 > > [ 0.087733] PKRU: 55555554 > > [ 0.087733] Call Trace: > > [ 0.087733] > > [ 0.087733] ? enable_work+0xb5/0xc0 > > [ 0.087733] ? __warn.cold+0x93/0xf2 > > [ 0.087733] ? enable_work+0xb5/0xc0 > > [ 0.087733] ? report_bug+0xff/0x140 > > [ 0.087733] ? handle_bug+0x54/0x90 > > [ 0.087733] ? exc_invalid_op+0x17/0x70 > > [ 0.087733] ? asm_exc_invalid_op+0x1a/0x20 > > [ 0.087733] ? __pfx_vmstat_cpu_online+0x10/0x10 > > [ 0.087733] ? enable_work+0xb5/0xc0 > > [ 0.087733] vmstat_cpu_online+0x5c/0x70 > > [ 0.087733] cpuhp_invoke_callback+0x133/0x440 > > [ 0.087733] cpuhp_thread_fun+0x95/0x150 > > [ 0.087733] smpboot_thread_fn+0xd5/0x1d0 > > [ 0.087734] ? __pfx_smpboot_thread_fn+0x10/0x10 > > [ 0.087735] kthread+0xc8/0xf0 > > [ 0.087737] ? __pfx_kthread+0x10/0x10 > > [ 0.087738] ret_from_fork+0x2c/0x50 > > [ 0.087739] ? __pfx_kthread+0x10/0x10 > > [ 0.087740] ret_from_fork_asm+0x1a/0x30 > > [ 0.087742] > > [ 0.087742] ---[ end trace 0000000000000000 ]--- > > > > > > > --- > > > v1: https://lore.kernel.org/all/20241220134234.3809621-1-koichiro.den@canonical.com/ > > > --- > > > mm/vmstat.c | 3 ++- > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > diff --git a/mm/vmstat.c b/mm/vmstat.c > > > index 4d016314a56c..0889b75cef14 100644 > > > --- a/mm/vmstat.c > > > +++ b/mm/vmstat.c > > > @@ -2148,13 +2148,14 @@ static int vmstat_cpu_online(unsigned int cpu) > > > if (!node_state(cpu_to_node(cpu), N_CPU)) { > > > node_set_state(cpu_to_node(cpu), N_CPU); > > > } > > > + enable_delayed_work(&per_cpu(vmstat_work, cpu)); > > > > Probably needs to be 'if disabled' here, as this is invoked on normal > > startup when the work won't have been disabled? > > > > Had a brief look at code and couldn't see how that could be done > > however... and one would need to be careful about races... Tricky! > > > > > > > > return 0; > > > } > > > > > > static int vmstat_cpu_down_prep(unsigned int cpu) > > > { > > > - cancel_delayed_work_sync(&per_cpu(vmstat_work, cpu)); > > > + disable_delayed_work_sync(&per_cpu(vmstat_work, cpu)); > > > return 0; > > > } > > > > > > -- > > > 2.43.0 > > > > > > > > > > Let me know if you need any more details, .config etc. > > > > I noticed this warning on a real box too (in both cases running akpm's > > mm-unstable branch), FWIW. > > Thank you for the report. I was able to reproduce the warning and now > wonder how I missed it.. My oversight, apologies. > > In my current view, the simplest solution would be to make sure a local > vmstat_work is disabled until vmstat_cpu_online() runs for the cpu, even > during boot-up. The following patch suppresses the warning: > > diff --git a/mm/vmstat.c b/mm/vmstat.c > index 0889b75cef14..19ceed5d34bf 100644 > --- a/mm/vmstat.c > +++ b/mm/vmstat.c > @@ -2122,10 +2122,14 @@ static void __init start_shepherd_timer(void) > { > int cpu; > > - for_each_possible_cpu(cpu) > + for_each_possible_cpu(cpu) { > INIT_DEFERRABLE_WORK(per_cpu_ptr(&vmstat_work, cpu), > vmstat_update); > > + /* will be enabled on vmstat_cpu_online */ > + disable_delayed_work_sync(&per_cpu(vmstat_work, cpu)); > + } > + > schedule_delayed_work(&shepherd, > round_jiffies_relative(sysctl_stat_interval)); > } > > If you think of a better solution later, please let me know. Otherwise, > I'll submit a follow-up fix patch with the above diff. Thanks, this resolves the problem, but are we sure that _all_ CPUs will definitely call vmstat_cpu_online()? I did a bit of printk output and it seems like this _didn't_ online CPU 0, presumably the boot CPU which calls this function in the first instance? I also see that init_mm_internals() invokes cpuhp_setup_state_nocalls() explicitly which does _not_ call the callback, though even if it did this would be too early as it calls start_shepherd_timer() _after_ this anyway. So yeah, unless I'm missing something, I think this patch is broken. I have added Thomas and Peter to give some insight on the CPU hotplug side. It feels like the patch really needs an 'enable if not already enabled' call in vmstat_cpu_online(). > > Thanks. > > -Koichiro