From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938652AbcIUQmO (ORCPT ); Wed, 21 Sep 2016 12:42:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56436 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933565AbcIUQmM (ORCPT ); Wed, 21 Sep 2016 12:42:12 -0400 Subject: Re: [PATCH] arm64, numa: Add cpu_to_node() implementation. To: Hanjun Guo , Robert Richter References: <1474310970-21264-1-git-send-email-ddaney.cavm@gmail.com> <20160920104348.GP25086@rric.localdomain> <57E11E52.8060303@linaro.org> <20160920133813.GR25086@rric.localdomain> <57E143DA.5030602@linaro.org> Cc: David Daney , linux-kernel@vger.kernel.org, Marc Zyngier , "Rafael J. Wysocki" , Will Deacon , Ganapatrao Kulkarni , linux-arm-kernel@lists.infradead.org, David Daney , xieyisheng1@huawei.com From: Jon Masters Message-ID: <9f9097ec-6097-4ef7-a710-e7ad89470814@redhat.com> Date: Wed, 21 Sep 2016 12:42:04 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 MIME-Version: 1.0 In-Reply-To: <57E143DA.5030602@linaro.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 21 Sep 2016 16:42:12 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/20/2016 10:12 AM, Hanjun Guo wrote: > On 09/20/2016 09:38 PM, Robert Richter wrote: >> On 20.09.16 19:32:34, Hanjun Guo wrote: >>> On 09/20/2016 06:43 PM, Robert Richter wrote: >> >>>> Instead we need to make sure the set_*numa_node() functions are called >>>> earlier before secondary cpus are booted. My suggested change for that >>>> is this: >>>> >>>> >>>> diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c >>>> index d93d43352504..952365c2f100 100644 >>>> --- a/arch/arm64/kernel/smp.c >>>> +++ b/arch/arm64/kernel/smp.c >>>> @@ -204,7 +204,6 @@ int __cpu_up(unsigned int cpu, struct >>>> task_struct *idle) >>>> static void smp_store_cpu_info(unsigned int cpuid) >>>> { >>>> store_cpu_topology(cpuid); >>>> - numa_store_cpu_info(cpuid); >>>> } >>>> >>>> /* >>>> @@ -719,6 +718,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) >>>> continue; >>>> >>>> set_cpu_present(cpu, true); >>>> + numa_store_cpu_info(cpu); >>>> } >>>> } >>> >>> We tried a similar approach which add numa_store_cpu_info() in >>> early_map_cpu_to_node(), and remove it from smp_store_cpu_info, >>> but didn't work for us, we will try your approach to see if works. > > And it works :) Great. I'm curious for further (immediate) feedback on David's updated patch in the other thread due to some time sensitive needs on our end. Jon. -- Computer Architect | Sent from my Fedora powered laptop