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 E25DBC636D3 for ; Wed, 1 Feb 2023 10:24:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7587C6B0071; Wed, 1 Feb 2023 05:24:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 708AE6B0072; Wed, 1 Feb 2023 05:24:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5F8536B0074; Wed, 1 Feb 2023 05:24:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 509656B0071 for ; Wed, 1 Feb 2023 05:24:12 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 10F33805E8 for ; Wed, 1 Feb 2023 10:24:12 +0000 (UTC) X-FDA: 80418337944.12.A43E91E Received: from mail3-163.sinamail.sina.com.cn (mail3-163.sinamail.sina.com.cn [202.108.3.163]) by imf05.hostedemail.com (Postfix) with ESMTP id F18BB100009 for ; Wed, 1 Feb 2023 10:24:08 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=none; spf=pass (imf05.hostedemail.com: domain of hdanton@sina.com designates 202.108.3.163 as permitted sender) smtp.mailfrom=hdanton@sina.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675247050; 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; bh=44i9tdoPbhdKpXsgInh5BRpbDDkJ3LBLVhBUhY3AFd8=; b=f5Ludum8O8u+kwpPx0k/sRKFxlOAaajG7X/DOyS/xPZDd/g7S7B6Pt/wkego/cnzxf1ICh tOD7GrMD8ThpEFXA3DQa+LHeLqGS9Kb52L2k5hJaZ3YJEjmCwGtYOAso/lCKN+P6gm4Lce /zY7Gh3q52eVy0PY28GCcD5KMiPeonM= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=none; spf=pass (imf05.hostedemail.com: domain of hdanton@sina.com designates 202.108.3.163 as permitted sender) smtp.mailfrom=hdanton@sina.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675247050; a=rsa-sha256; cv=none; b=CIsUEta06wXYrqcr+sMfKG8zo6tVj9I9S7oZ+Hs3xvKTn2F5yTY0LdyxpZ6mH7N67FSxk+ 99huB3efbYo2QkZ2bt3VdPd6H+ofUpRKzLxvgArMZXQkH73mAvtCQsdEdrnlVHJwdEsO/V +BhB0R8zYBnROWxzf/I2INTDpVrs0Go= Received: from unknown (HELO localhost.localdomain)([114.249.61.130]) by sina.com (172.16.97.27) with ESMTP id 63DA3D5400016305; Wed, 1 Feb 2023 18:22:13 +0800 (CST) X-Sender: hdanton@sina.com X-Auth-ID: hdanton@sina.com X-SMAIL-MID: 59341249283225 From: Hillf Danton To: Will Deacon Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Peter Zijlstra , Waiman Long Subject: Re: [PATCH 1/2] cpuset: Fix cpuset_cpus_allowed() to not filter offline CPUs Date: Wed, 1 Feb 2023 18:23:53 +0800 Message-Id: <20230201102353.374-1-hdanton@sina.com> In-Reply-To: <20230131221719.3176-2-will@kernel.org> References: <20230131221719.3176-1-will@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: p6c53shw6bdmkxitbxdi18zwqjkqnibs X-Rspamd-Queue-Id: F18BB100009 X-HE-Tag: 1675247048-479586 X-HE-Meta: U2FsdGVkX1+LcSloxRH1ZebtayHleaXDZi885TrTElz4/FiM5odjjAhe+yf3G/RjXMgBs2rViQIeTp1sOqEVB/QfOzwLeBh8DfrMHgNlS7y8lk2HLMs3IGk1FrLor/leo8IHunBSf0k7qGSUHDV9NOkqRRDvVQ40TMdPq06VPzF08fGX1D6GgjVnzg0xMB1cUoPY9/OP+8s7ibeHJsLEdcQZRFZukQcoImUvfEQXSkhP0qh49vL/tbrmC5Dixmn19cNpk14WsZEnFRpjeIj5OA6Fb8em83RdyGuzHad86Vrw6uF6uo2SUQ4fNqBnO05NCvIpVWA37KhxJ5tfGJpBNxaICeud94mNuT1x9NPJ0CtqbxuYF1WFM7OYDFZODl89g8i1AkmWfLREB5wbXEHzjPZI3Hm8Kro3si3I5TPnjNYo51bLh8bkR8EEE1kXr0DFISqkhkbMhC+Ks2ObYu8e+OPM8XLK7s+k2CqoJPKFiotRxrLSkEKQAXGqBhidg7p7XpkGZsXMsTgdgAyJq+Yv/7fOHbrwZq85UWu4k8CVdYQcbcAwpohq/KnbE1qmFtamOpHLlgA+WdImk46BdIpAA5AePq+5yoMaEkSakJnb3TVwq116GXoHysFKg1phg295KJ6gFzndek0rpi8twmZo/zBJjmFEtGnwQc8lUjSspRiS90JW9r7Shzchr9vXjrTCBEWevaytvOWp10XTMePwXbUSmEQeJJ/bLY2SLVscwheQm+BVOHULTXPRTXps1czXDtf2+zKv1Q/FblSZOzg4xxJezjteCk1+rVatULmoPv4LQWYdLTEFBGyKBj2muZq8ORz6wPDCNT74ou0Qpk1sEQVq9sKc7IeaO0PCmV7Qz7PNmqnbBWGohWEG8UikQ5vljOnKOKYny5C5m5wToFJqMnCweKvmrimBfwXZ3LSnZg5F1pgJrlWMKIz5W0tdvIu1M3o4fHo0VqV8m5/8O8/ zH62s4qP f601q4kBpCS9AbDEyIq9VKQUbUU94VJoL6xo8owBTv/Er5tsluf8t54wHCgrE8yhaee3xnu5PGM4Gusy5nz1NVVjQMZhJ5CMjFxQOjQi0anO46SS8LM8KtenEZ5z2biZqtUHwRxmDM0O6KbtbUmzd+zYp6Drn5o0fLWyZeJUmj1p+kLz7c8/3vPc8SKjtDPzAdypIdMDNg2LnyHw= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000068, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, 31 Jan 2023 22:17:18 +0000 Will Deacon > > +static const struct cpumask *__cs_cpus_allowed(struct cpuset *cs) > +{ > + const struct cpumask *cs_mask = cs->cpus_allowed; > + if (!parent_cs(cs)) > + cs_mask = cpu_possible_mask; > + return cs_mask; > +} > + > +static void cs_cpus_allowed(struct cpuset *cs, struct cpumask *pmask) > +{ > + do { > + cpumask_and(pmask, pmask, __cs_cpus_allowed(cs)); > + cs = parent_cs(cs); > + } while (cs); > +} If it is not typo, why is it needed here to spiral the cs hierarchy up, given the same spiralup below? > void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask) > { > unsigned long flags; > + struct cpuset *cs; > > spin_lock_irqsave(&callback_lock, flags); > - guarantee_online_cpus(tsk, pmask); > + rcu_read_lock(); > + > + cs = task_cs(tsk); > + do { > + cpumask_copy(pmask, task_cpu_possible_mask(tsk)); > + cs_cpus_allowed(cs, pmask); > + > + if (cpumask_intersects(pmask, cpu_online_mask)) > + break; > + > + cs = parent_cs(cs); > + } while (cs); > + > + rcu_read_unlock(); > spin_unlock_irqrestore(&callback_lock, flags); > } > > -- > 2.39.1.456.gfc5497dd1b-goog