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 ECCDFC3DA4A for ; Fri, 26 Jul 2024 22:31:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2922F6B0082; Fri, 26 Jul 2024 18:31:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 242C96B0083; Fri, 26 Jul 2024 18:31:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 10A656B0088; Fri, 26 Jul 2024 18:31:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E6CB46B0082 for ; Fri, 26 Jul 2024 18:31:40 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 5A9971A01B3 for ; Fri, 26 Jul 2024 22:31:40 +0000 (UTC) X-FDA: 82383351960.25.5CC6BAC Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf19.hostedemail.com (Postfix) with ESMTP id A9ABF1A001D for ; Fri, 26 Jul 2024 22:31:38 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=IljJvsS2; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf19.hostedemail.com: domain of frederic@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=frederic@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722033057; a=rsa-sha256; cv=none; b=jkXWtL4YqxD5SC7yGfj8Yxhq5GiaswZeNbYKBBEHEAWahKTTuoqU7mwoNV9sBLYzk+/cPl zjV0lu+JLjTXlCr6Ygk+VhpI11cqwwz0iEbyn6MuJCBI+eYASmEV3jeXGSsaIfxhGxxssJ lT9WOCJ1fCsU3hIyfM+F6rXBZEB0R1o= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=IljJvsS2; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf19.hostedemail.com: domain of frederic@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=frederic@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722033057; 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=uKDno7xIU+HzZ1eK8ThhmhfE/8vkbsp1lxGgDQfC64M=; b=pkePHGxpCk/1l00O6SfxkFsD49Q/DdZDTifdmH1R6rkafTIeeqAOoyXUtODSyPlPUeQBZP zJu0Vo3LZie2q9HPNOgHnPkQUaiB8JEPKC/6n44CCgbncnnV5WTFNMyDalzJ8Pm/z0r3VW rEbVwAXEZtMATOo5HRw1dXFG+h/OTWc= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id A74C2604EF; Fri, 26 Jul 2024 22:31:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D8E3CC32782; Fri, 26 Jul 2024 22:31:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722033097; bh=Vha1o4cDySp/3HxxP0IeuG98E1wJh5iHmPPpiVxnzX8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=IljJvsS24AoY00TO7h9ULsDeM+lE6rFBtwcOWlVUjE2nOYUwM5qRnBEo/55M52EAp Zks+L5/EoB63Xbv9Qs0SxjflK7evV+SBoIrE5EV1AwSzQqgIowZ840XrUFPJU/BsrG 7ZtOyD/kHWb//n1cSl9mSyPTrJgItJsheudGbN/JIJV5LiO4ZS4Ai7J46axicovKZ5 NV42pxwm5Kpvj7coc6HRZVO6xnD1U+0oixersK7QT/8NROmH75CIPM0H4WVVukFVK2 sU89nkp2ZVfCLDGtGRryhQ6zsf+MgFeiAOrl3Q4R3h+Sh28aOvCB550gVl1Z4fB2Qp zKJMjKrbq5Y0w== Date: Sat, 27 Jul 2024 00:31:34 +0200 From: Frederic Weisbecker To: LKML Cc: Andrew Morton , Kees Cook , Peter Zijlstra , Thomas Gleixner , Michal Hocko , Vlastimil Babka , linux-mm@kvack.org, "Paul E. McKenney" , Neeraj Upadhyay , Joel Fernandes , Boqun Feng , Zqiang , rcu@vger.kernel.org Subject: Re: [RFC PATCH 12/20] kthread: Implement preferred affinity Message-ID: References: <20240726215701.19459-1-frederic@kernel.org> <20240726215701.19459-13-frederic@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20240726215701.19459-13-frederic@kernel.org> X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: A9ABF1A001D X-Stat-Signature: aktskeuz9xoa3ph7bk4xu7osmtohknx5 X-Rspam-User: X-HE-Tag: 1722033098-722708 X-HE-Meta: U2FsdGVkX18jBiZS8IlZbYbE6KfhZsGDl0cPIzje4FcPpKDxILjeFxXNmJc2iOWIR6kX28CZu1jktMABE0xx8yc6J0YLhI5kJh63PpCve2rKPzFJapsgO8ZXOSmzfm04ffy/0e31KRNKrWkIoMtCYDFenlzWMHEOD0gTd0tsdWEsuS8C09PIa1gu3WKYYZ0G6upVh3uism+d74X9bz7ZBSmVovDXst2K2zMrevQs2ox/iVVfBjA8iOiiuDa2PrLZ7KEcEjH8VgETDeLB8MweWmx745NBo4jmEr2bd8tP8dKQA1CNZTXtpX0rmDFnAjKNlKsgDRIWKk+zIBzgxNTrVTcBC8yzIgtaKIKTQZ0N5V7syF2UxugjTGRcd/VfkEiLQYVgdBsyEg7jF9nj5NssQjfO/aW8dKxlZU/JljgY1brlwiksrymP1btoNMxmUhCvKpYz8Mj989wOd+jTV/WZk9V4XIXFcdoyvSKEPh5xXmq29ZCVkf3wzF8z/4HaXd3QQJUSeLqzc0F71F0pj8QS9oFwIdXEN2dyq3vnw1ZR1LxdMrGqSFHnLB2ouqxC6AL0MRRgdvhXTuU7tEYcnI+UvTr5x3xs5BX74ElUxHe9EQirdxSKVC03MSSQGLFu57BJB784sNxEUqbWz2IllGUWBw1Ygdy/MxhWrL5w8t095aSiIxvuFwe8lxRMWpaYcY78ta8uR1/8fOPW/Dn0xm7AgVi5vz1l6ej/5cDuIsC3pPBvvcsToHtje6jColnEYWPYkqJRnmRuKU+yimMt0ANo3XDICcDjzOuVGnTOXrhdDBroFE78CDcVNRPcV8LWlyrTYfMwCdTh2w4bNc/cPxjit+h1mpJ6QhNg9ujkgejpS4Oh++/KtV6VRqlwgrljTo9Eml0+fdIGcZlC3myCijp3qEtlhvJ06npBSPvle0Xa2+PlLlcU7sgqHVWu7qvlms2yg0wBKNoL724iCaF/eMp d1XpQEbk 1LCWRGJdQ22XWiL7QhhlzpjDedvXiE+qyFa2WgfBQ2QtRPdb/A8QcizOP4AqaykMrh97i3AsNmNUbCrjw5kCgi8PchwPUH8aXR7V+rNCZbb09+yIwuj2EmCj97zPa+iKFIR0+EcGZg608ifIetg2oeKmlLW6SNVkudbfjXbUA/v57eJDEbiB9cO+dbarsG+l4T2wE2SISDfVBOETOMTiE69pDSRt2heHruafHL4/GO7hUhIWR/US+Co4qf1D6BJheRk/oG2gy40q/0ukS1N7/O8bQVw== 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: Le Fri, Jul 26, 2024 at 11:56:48PM +0200, Frederic Weisbecker a écrit : > +int kthread_affine_preferred(struct task_struct *p, const struct cpumask *mask) > +{ > + struct kthread *kthread = to_kthread(p); > + cpumask_var_t affinity; > + unsigned long flags; > + int ret; > + > + if (!wait_task_inactive(p, TASK_UNINTERRUPTIBLE) || kthread->started) { > + WARN_ON(1); > + return -EINVAL; > + } > + > + if (!zalloc_cpumask_var(&affinity, GFP_KERNEL)) > + return -ENOMEM; > + > + kthread->preferred_affinity = kzalloc(sizeof(struct cpumask), GFP_KERNEL); > + if (!kthread->preferred_affinity) { > + ret = -ENOMEM; > + goto out; > + } > + > + mutex_lock(&kthreads_hotplug_lock); > + cpumask_copy(kthread->preferred_affinity, mask); > + list_add_tail(&kthread->hotplug_node, &kthreads_hotplug); > + kthread_fetch_affinity(kthread, affinity); > + > + /* It's safe because the task is inactive. */ > + raw_spin_lock_irqsave(&p->pi_lock, flags); > + do_set_cpus_allowed(p, mask); s/mask/affinity