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 C9155C3ABDF for ; Tue, 17 Sep 2024 06:26:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 457FC6B0088; Tue, 17 Sep 2024 02:26:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 406556B0089; Tue, 17 Sep 2024 02:26:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2A69B6B008A; Tue, 17 Sep 2024 02:26:55 -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 0B8FE6B0088 for ; Tue, 17 Sep 2024 02:26:55 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7CCD6A7748 for ; Tue, 17 Sep 2024 06:26:54 +0000 (UTC) X-FDA: 82573247148.14.B7758C2 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) by imf04.hostedemail.com (Postfix) with ESMTP id 644EA4000D for ; Tue, 17 Sep 2024 06:26:52 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=W5vRnUdq; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf04.hostedemail.com: domain of mhocko@suse.com designates 209.85.218.44 as permitted sender) smtp.mailfrom=mhocko@suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726554331; a=rsa-sha256; cv=none; b=OG3HZx1FN1jGbzlYf3EWTjdr3ouEkVddGhXCIgX2mZ1hkRtAX7xsacZI/OXrn+6C2cEF/t +IB3qbVrGxJtQy0GJRSXJeSfydUD6qzU+AwqDdFa1faO73922NUHfj3FWxHvsb68Qdrlsu TGdS1YTHD3+rmb1CRxMv1MKIewQrNOc= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=W5vRnUdq; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf04.hostedemail.com: domain of mhocko@suse.com designates 209.85.218.44 as permitted sender) smtp.mailfrom=mhocko@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726554331; 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=H7ASPViLRBSV8sKUrdJL1Dpttwd/ZWizZrt8YYj/Fgs=; b=BXI4uIU44NAePbKO+mEvMehaqkRSu7M7s5x3jEi2YWAVFI61/dPi+/GHQOXZkAXNsNdPnC Ez/q2z6utlSZSs+VGJm4UpOy0HtFezuB3nxOQYr+ekCxZuTiRN21Nj2k59twpjGtjrUv4F piHqcrN5j1w5FSAZPwQ9S1rJI7aytQc= Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-a8d13b83511so631551166b.2 for ; Mon, 16 Sep 2024 23:26:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1726554411; x=1727159211; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=H7ASPViLRBSV8sKUrdJL1Dpttwd/ZWizZrt8YYj/Fgs=; b=W5vRnUdqnE0+fXXqFZwb28K3iVsU4OSWP1Mk8gB6ujVhQ5j5F3s7bLYm8BcypLJ1fm Ac7p+JHxWRhWhqkuz4cacYNwnbioiCN4uUGRvlry9xO3kZmpxSQvv4/uD4zW8rk5AsVk PnmvIXo3S4dewtVUsifr/eD4ylCoFs1OrUTEanl4fhKxR2kijhtR4qqhxDTPhM5s8HVT bdIv+fAdRb6VnepdDi6/BSeSNCL1ZWlB6Iv4WC2QUd6s6SHy4V/vqIOBnYftRzPA9e/t wHKyKrY681S7jF60TJEhw9aq8nLt4infgWHgFdCIQiT7zGiuHtXYIgIPBCDIc8rNUVnJ 2xhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726554411; x=1727159211; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=H7ASPViLRBSV8sKUrdJL1Dpttwd/ZWizZrt8YYj/Fgs=; b=KxZWWLSZfl3y+Pzu6VXr0WaGJMB2uweuzS3I/h2CFeXHaJ1jpIfJR++ZpcAw/0vf9C 6VpVP09u+HDoYS42LgVrUNVaG6DHYtN68CuhfSjgHRTdFKGa878xDx86WcuuShjFZxx8 mr4gUhO3UsW8Td5s1JF/0NTRVaoLO78RtEumgUnhsb0nkGRJvVgbNGCxb10qo5uql6CI jS/F9NTMiadnryWaV3d/+W0Q+eaXLXA5NYFn+3VOJMMSZ0N3t+9YLYeUZmlL0q/O/wKd DtINv6h6Tgnr/OJMdEjjZPhc9Pf/YvYPfcAMc7B2xSE7FSdu6l/eTWPTWKptC7c+/OUK f/uA== X-Forwarded-Encrypted: i=1; AJvYcCXtyUQnMD5m08Si4YhABFzxkaEUh9Sodgp7/3XFaSaAhepiqb8uf1TtCQhcW5nBzKtOEA5ZivOnEA==@kvack.org X-Gm-Message-State: AOJu0Yx8aSBJSm7k/j+iM/PCO1cR5imU5djomYfWXu9mWep3hSrqytJ3 BaY01XNYDoMA+xAItlDj/UkMJWQiI3KjAr5eYSd9DKR0wCIEHCY9f3TysPtLifg= X-Google-Smtp-Source: AGHT+IFp61tQdL1aMBFJZPYLyvUg/ylcWPkrD82sQbDo/hxlsqMN67eL0E/fc3/5YTdEwjY1O+ahhQ== X-Received: by 2002:a17:907:e283:b0:a8a:af0c:dba9 with SMTP id a640c23a62f3a-a9029444940mr1546939566b.16.1726554410677; Mon, 16 Sep 2024 23:26:50 -0700 (PDT) Received: from localhost (109-81-84-13.rct.o2.cz. [109.81.84.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a90612e5600sm408627266b.175.2024.09.16.23.26.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Sep 2024 23:26:50 -0700 (PDT) Date: Tue, 17 Sep 2024 08:26:49 +0200 From: Michal Hocko To: Frederic Weisbecker Cc: LKML , Andrew Morton , Kees Cook , Peter Zijlstra , Thomas Gleixner , Vlastimil Babka , linux-mm@kvack.org, "Paul E. McKenney" , Neeraj Upadhyay , Joel Fernandes , Boqun Feng , Zqiang , rcu@vger.kernel.org Subject: Re: [PATCH 12/19] kthread: Default affine kthread to its preferred NUMA node Message-ID: References: <20240916224925.20540-1-frederic@kernel.org> <20240916224925.20540-13-frederic@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240916224925.20540-13-frederic@kernel.org> X-Rspamd-Queue-Id: 644EA4000D X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: rb7yny9rbaatdubkixzs7kbndyifgfb7 X-HE-Tag: 1726554412-942713 X-HE-Meta: U2FsdGVkX18nWNiUErCE2DIUdy5rnnUgyRLrYUWc+wQLoB/w/eQLGoAT1o5CfM/StVDgDXacekEULhTThlEUVWPer/mL/roOxtFTGZ5ZnlZhtuVh/FAqwtl2SiEQ/5OkyQDHn982LJVW0nyfEqlJJYy8iXX45GWSmc5dS793FPZQ0ZupJjqK6W7flxGuFmMmP4tB4MlZPhaJ05H6DrgzqkSaqnYCq3fDE45qyKK8gsRIXvGQTlek6jeJ8r+uOxVW9O9qn+RK9pJ5hHtDFSKYgKpm9+spzS67R2HxJ80R7SsQiL6bJUc7YbIDW0HqtY5v0Qe1X2xwfzQMGi0cP4+j7Wic2Fl4A6V+w9jbNMkODSyCcX9mxvRwudlo1BkfU5Ipf7OPUoST39gnOlUgrUJqX+kphHNwnBeaOv9E+bKfeJlfe8k0ieoWgVZm7kOMWihAFK1A2nL7nHrWuY9VpTruHTvnzfHcXpgHckIhp4FxxxB/U7OnuK2VLVsZAbKad7Kt2FT2gSEjE7TDnqdgDmon8sWq3CmsLFR+UGOm8bEBciuPd1EG3xfEJ67P3a6aItuZoDjG43lQMIIusL+dVnP2fS2shPX2JzxIw38bJdxqnCVAnWpcAab4Rx2liYpBidaS74YLiTPdntrLASjZNl2F0mhMgGSdf2aEf4NsFEu6mB8NjWkVzYMo4zwnNQ1BVOaYPB/EpMk91AM1B+5ckZ018H5ATHglJGNTyqw165gMPiIujG11KObrNjyKpuN97Z4J/V+y8NuqiPeESOsTq5m3Vk9CB013Fx0Tj/1ysSKY4eYX1BZkt0rhFY9l3AynTV12wUVQC0eruNJjFI51zP91loK8AUpjm2tcaLRxkCs43s5XqpqV7HrrABca+kYBU/Ylj5nBgYPQVxOJh3gO666MrLBppSlSzQPJiPrXYjoPIfa8m4Es+1k3GCGge9+VHUrXxQjV+AZ+9kbXl+3/Ng6 KNhle+tw wYVGIFYrqgZLc/TyowpyynNIRdj0Vrb+chKxqd7GjMNLs8gBsyTjj2Ko/uTvADng3guf8IYPdYXuZ5mkal7OqGwjPMTYMz3IjexZ73IOPZ7VvPnaC585ZkKPV3dq3s1dG0ekipIgyBQ8h7wd4EPaI8IVx9oPFCQtZ6MrC6KP1xqJlM6xzqMkJZXJrHKtL03F423Tb9To08XtSS/V+bT0yU9U77WiRdHGrMICTgBN0OtkdB9MQ9eNSZN4YVTYONbdrP77R0NpV4HlP/rpXKo9fQlc9BYiwiMbMUTkQhQ/MAL/atQVUVCvUiCTS1Tym9JgxWymXoRJoxYB2g1sLwkJZVlg8CWx90Az4Waax0XhT9/+4+4SgTPtgs7hiyb6FF227rCRY3bPyOWQhN2LhlClhbPr1ht63i478NUlUBxSYonWtV2VLguhikpo5X/+Yr0UNXYbYQkTRaD5VDHpQwRa4HiusFw== 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: On Tue 17-09-24 00:49:16, Frederic Weisbecker wrote: > Kthreads attached to a preferred NUMA node for their task structure > allocation can also be assumed to run preferrably within that same node. > > A more precise affinity is usually notified by calling > kthread_create_on_cpu() or kthread_bind[_mask]() before the first wakeup. > > For the others, a default affinity to the node is desired and sometimes > implemented with more or less success when it comes to deal with hotplug > events and nohz_full / CPU Isolation interactions: > > - kcompactd is affine to its node and handles hotplug but not CPU Isolation > - kswapd is affine to its node and ignores hotplug and CPU Isolation > - A bunch of drivers create their kthreads on a specific node and > don't take care about affining further. > > Handle that default node affinity preference at the generic level > instead, provided a kthread is created on an actual node and doesn't > apply any specific affinity such as a given CPU or a custom cpumask to > bind to before its first wake-up. Makes sense. > This generic handling is aware of CPU hotplug events and CPU isolation > such that: > > * When a housekeeping CPU goes up and is part of the node of a given > kthread, it is added to its applied affinity set (and > possibly the default last resort online housekeeping set is removed > from the set). > > * When a housekeeping CPU goes down while it was part of the node of a > kthread, it is removed from the kthread's applied > affinity. The last resort is to affine the kthread to all online > housekeeping CPUs. But I am not really sure about this part. Sure it makes sense to set the affinity to exclude isolated CPUs but why do we care about hotplug events at all. Let's say we offline all cpus from a given node (or that all but isolated cpus are offline - is this even realistic/reasonable usecase?). Wouldn't scheduler ignore the kthread's affinity in such a case? In other words how is that different from tasksetting an userspace task to a cpu that goes offline? We still do allow such a task to run, right? We just do not care about affinity anymore. -- Michal Hocko SUSE Labs