From patchwork Fri Feb 3 23:24:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 13128520 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 D3E2BC636CC for ; Fri, 3 Feb 2023 23:24:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4DED96B0073; Fri, 3 Feb 2023 18:24:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 41AB96B0075; Fri, 3 Feb 2023 18:24:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2B9FE6B0078; Fri, 3 Feb 2023 18:24:27 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 1C6386B0073 for ; Fri, 3 Feb 2023 18:24:27 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 90ED5C0737 for ; Fri, 3 Feb 2023 23:24:26 +0000 (UTC) X-FDA: 80427561732.23.904FDE1 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf02.hostedemail.com (Postfix) with ESMTP id D063180011 for ; Fri, 3 Feb 2023 23:24:24 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=BuCrVsu7; spf=pass (imf02.hostedemail.com: domain of frederic@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=frederic@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675466664; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=dqerDqdAeP2Tp7uc6qYn/twDFlW0xEaI/tXSRkFDxsU=; b=FoGv6LLretXetGWLHM1wbfwhEFBqW3rC5CAsJ5YtuzKx9vxXTATvQlUBAkR0x8WUwXVvj+ HB5CN5cgA1P7X8XRaUe/xUjrckrO1bzb20GSeP5c6N9gBgQT72JS/1b0lBczbUBjjs7IJI 8c+J1uQjyWgkHMRys0WUV1sLXP8yoaU= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=BuCrVsu7; spf=pass (imf02.hostedemail.com: domain of frederic@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=frederic@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675466664; a=rsa-sha256; cv=none; b=At915Ei7HIRN9qpKw8T3PeXQmm7qNlYowqWp2mfFac8Nb8XJKJMOFIgq4JY+SCgysXHc68 9e/KCvb2Ok/Ir49/mtK5a27SFLhES3whLChTRu75Gg7yxTw+hneNwDT00IKr1txbQiId6n 2f1jfXKRGUgei/2EkxxzDlEugCloXXo= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id EFCBF6203E; Fri, 3 Feb 2023 23:24:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8A79AC4339B; Fri, 3 Feb 2023 23:24:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1675466663; bh=p1w/s0O5n3VSeOMpM1vDKAz+K6RPGrIp6QpaiUCAbUc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BuCrVsu7EsqwcuHwg7AUSbKZd6w6kULIQHrvnJZdUFECtU5/XPaHlkkcxjMPEhLga KVzT7ESVrOE/BZJQFfSitLQe2lUzquK9cVIp2Iw3xIk+Iozoq0lPn/0/CP26maBNXy kJnaR8PUUKkTPEFx3+exk8co1JIx29PdVQ8zDWpvfr1ct+VQB2f3sNJJSC6tHoXyz7 8u1AQd75R/OsWTxVL8XsPr0NtOj6elD8dcH+8S2k8+fk6jFIliCOej9sZNkuh0C6sE ds9hl+PCcLXgThtlugAUMHXnxGzGqkv4iUizOyXVr0YqhP3pgTHk/zCI9g5lYKWSRU iewsp3xAyNdkA== From: Frederic Weisbecker To: LKML Cc: Frederic Weisbecker , Roman Gushchin , Michal Hocko , Marcelo Tosatti , Leonardo , Johannes Weiner , Shakeel Butt , Muchun Song , Andrew Morton , Peter Zijlstra , Thomas Gleixner , cgroups@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 2/2] sched/isolation: Add cpu_is_isolated() API Date: Sat, 4 Feb 2023 00:24:09 +0100 Message-Id: <20230203232409.163847-3-frederic@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230203232409.163847-1-frederic@kernel.org> References: <20230203232409.163847-1-frederic@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: D063180011 X-Stat-Signature: msk5qtda96jzhpga4hqfeps9ea758szy X-HE-Tag: 1675466664-631277 X-HE-Meta: U2FsdGVkX1+3PgZY8sEDIgZk2kCaNHa1BQ9MOuqFOxLsMx8YIEsoIh5wpqdRKUuWOpKwXq0hJ9BaWtEwxxy6FtRNVoRS+A5mHQ6CPwjX+/vXuhDk4fcaQSCB4HYcYJpR8GW0yGgra2cvJ70AW46aQ74c4j9qEEm2sk/Cm5l5ufzcO9mJavqY8BdlHuBjVrJOvfAKHUNqR6c9/shVhEqojxPPmFQqyQaioSg//B+wZELsxJOieFX2L0cRzKj33Zh9HFmS2SrzcMj3ixHtgUwMRUOlZTufnIdyZowenXTTMTslQNHCSG1sJ6K5odDVhgLnA3nEE4FvfjGGZEkY92GfjeJA92DDhMEZBYcgDcsgzuiZilc29ps5yt6U+mVI87bpoGc3b2IOm718OqetNEn59g6J00MnPBKIapLyA4hYDrCbQnwroDoEmrCYljm1VRy+mTe8aamF1zJWfr9fTNKuaTmNC1dOsPa9BaPiyRM9ui1uAtt4/XSv1ailq5YjqrvmRMLp+G70YARWrQHiHWvJCd7iXAIr4Nk+iycrmozOdLzEfjOTXJy1ikYSVNQddPCO8xx6mbS/9vUOMlpfUlv/b4DdRSPC80V2hZj8+wazR3EaRM8GWUMk4LMVhqEMrHPWJrX0FeMgopyr53DTNAoukausBZXJ4jz91DvvbTaKo7sjFarZcynO3jn2Xl0t6MC0BAXq9YCYRQHbEr66+PTch0O4twbhhjOAbBnWFNqSvvN23jAyiZVmPkYoFvBTXJHTuVMQL8fHbQF2SqjnZf0HwU9J6ibHns1Jq2YFyZtO00e41LYTLzFJ9cFOIhV0KufffpdTLPflN5ntGp7zr5WjDOtvwSqxhdPDIi3t4HUho7/8Ql3Hs7p1+iDSpjh2nahoPvDhX/kM098ppfvztNIQ1vEpBksl+pC8ICB0lRjbidHPbRQRoSQx36QfCbPFPw5JOVWc99nvK5NV9OOJ/wA Snbz9JAR qCreDqRWimFLgFroDLZZMsngr3gfLZBpMekwDGO5dfy8ZNXytqbqJe9ZHzisEo5+7cpAsoLUvNW17N/hiCt4UC/qcCLb0t2DsrY6AXjvsOK9Y5eNkpUPTw3rdCZn3mbpfVanISXKioBbV7xz/B/rjWe5WmdZpNPF2TUWQySaWnhWHLq+jO2Be7arxJFSXdjsX3sbG0SwPcLMV0hp4F4KpesE0yotdUJLSD6bacKPdMkxuDOLGcfkaWvQoKeN78a3uUlnOmMnfKQhuUUcxNFY2EolD2SdBU7jYZHmUuH8Uosdvuyf3I3eqaycKzq65a9iMxmDoEKTTT1oyNBEKv9B3J+N2d9rjT1YQPUTQACaPhTmFwcdb69JcvmpyNNw9icp+3V1nhprv1jxd3YJ3QBk/cMs+3HUsY4c66fSH8pFAzOAv5IEiq0X/fh3CjmjylZzxAt1iIYTkLSMU3kRsS6qBA7dJow== 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: Provide this new API to check if a CPU has been isolated either through isolcpus= or nohz_full= kernel parameter. It aims at avoiding kernel load deemed to be safely spared on CPUs running sensitive workload that can't bear any disturbance, such as pcp cache draining. Suggested-by: Michal Hocko Signed-off-by: Frederic Weisbecker --- include/linux/sched/isolation.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/linux/sched/isolation.h b/include/linux/sched/isolation.h index b645cc81fe01..088672f08469 100644 --- a/include/linux/sched/isolation.h +++ b/include/linux/sched/isolation.h @@ -53,4 +53,10 @@ static inline bool housekeeping_cpu(int cpu, enum hk_type type) return true; } +static inline bool cpu_is_isolated(int cpu) +{ + return !housekeeping_test_cpu(cpu, HK_TYPE_DOMAIN) || + !housekeeping_test_cpu(cpu, HK_TYPE_KERNEL_NOISE); +} + #endif /* _LINUX_SCHED_ISOLATION_H */