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 X-Spam-Level: X-Spam-Status: No, score=-2.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6228CC4CECD for ; Tue, 17 Sep 2019 11:36:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 427CF21670 for ; Tue, 17 Sep 2019 11:36:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726781AbfIQLgs (ORCPT ); Tue, 17 Sep 2019 07:36:48 -0400 Received: from szxga06-in.huawei.com ([45.249.212.32]:33066 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726230AbfIQLgs (ORCPT ); Tue, 17 Sep 2019 07:36:48 -0400 Received: from DGGEMS412-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id 9830C216968499FA6070; Tue, 17 Sep 2019 19:36:44 +0800 (CST) Received: from [127.0.0.1] (10.74.191.121) by DGGEMS412-HUB.china.huawei.com (10.3.19.212) with Microsoft SMTP Server id 14.3.439.0; Tue, 17 Sep 2019 19:36:39 +0800 Subject: Re: [PATCH v5] numa: make node_to_cpumask_map() NUMA_NO_NODE aware To: Michal Hocko CC: Michael Ellerman , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , References: <1568640481-133352-1-git-send-email-linyunsheng@huawei.com> <87pnjzsd8f.fsf@mpe.ellerman.id.au> <20190917093655.GA1872@dhcp22.suse.cz> <07c78b6c-277e-eec0-a6cd-46beab1f1547@huawei.com> <20190917100854.GC1872@dhcp22.suse.cz> From: Yunsheng Lin Message-ID: <7fe82a6a-2183-3d9d-2740-0d4fe123b813@huawei.com> Date: Tue, 17 Sep 2019 19:36:39 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <20190917100854.GC1872@dhcp22.suse.cz> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.74.191.121] X-CFilter-Loop: Reflected Sender: linux-mips-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mips@vger.kernel.org On 2019/9/17 18:08, Michal Hocko wrote: > On Tue 17-09-19 17:53:57, Yunsheng Lin wrote: >> On 2019/9/17 17:36, Michal Hocko wrote: >>> On Tue 17-09-19 14:20:11, Yunsheng Lin wrote: >>>> On 2019/9/17 13:28, Michael Ellerman wrote: >>>>> Yunsheng Lin writes: >>> [...] >>>>>> But we cannot really copy the page allocator logic. Simply because the >>>>>> page allocator doesn't enforce the near node affinity. It just picks it >>>>>> up as a preferred node but then it is free to fallback to any other numa >>>>>> node. This is not the case here and node_to_cpumask_map will only restrict >>>>>> to the particular node's cpus which would have really non deterministic >>>>>> behavior depending on where the code is executed. So in fact we really >>>>>> want to return cpu_online_mask for NUMA_NO_NODE. >>>>>> >>>>>> Some arches were already NUMA_NO_NODE aware, but they return cpu_all_mask, >>>>>> which should be identical with cpu_online_mask when those arches do not >>>>>> support cpu hotplug, this patch also changes them to return cpu_online_mask >>>>>> in order to be consistent and use NUMA_NO_NODE instead of "-1". >>>>> >>>>> Except some of those arches *do* support CPU hotplug, powerpc and sparc >>>>> at least. So switching from cpu_all_mask to cpu_online_mask is a >>>>> meaningful change. >>>> >>>> Yes, thanks for pointing out. >>>> >>>>> >>>>> That doesn't mean it's wrong, but you need to explain why it's the right >>>>> change. >>>> >>>> How about adding the below to the commit log: >>>> Even if some of the arches do support CPU hotplug, it does not make sense >>>> to return the cpu that has been hotplugged. >>>> >>>> Any suggestion? >>> >>> Again, for the third time, I believe. Make it a separate patch please. >>> There is absolutely no reason to conflate those two things. >> >> Ok, thanks. >> Will make the cpu_all_mask -> cpu_online_mask change a separate patch. > > Thanks. This really needs per arch maintainer to check closely. > >> Also, do you think it is better to resend this as individual patches for each arch >> or have all these changes in a single patch? I am not sure which is the common >> practice for a multi-arches changes like this. > > It really depends on arch maintainers. Both approaches have some pros > and cons. A single patch is more compact and and parts are not going to > get lost in noise. They might generate some conflicts with parallel > changes. I suspect a conflict risk is quite low in this code considering > from a recent activity. A follow up arch specific patch would have to be > routed via Andrew as well. > > If Andrew is ok routing it through his tree and none of the arch > maintainers is opposed then I would go with a single patch. Ok, I will try a single patch for NUMA_NO_NODE aware change first. "cpu_all_mask -> cpu_online_mask" change seems a little controversial, and may need deeper investigation. >