Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp303458ybh; Wed, 22 Jul 2020 00:43:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwvGFVUZ5h5PDJaIXoOwZ9HRNynYA98hjOgnZfYYpwddZ7HaYmqVHdYAcbLaJ8/kxHtVlQr X-Received: by 2002:a05:6402:128c:: with SMTP id w12mr30599288edv.65.1595403784876; Wed, 22 Jul 2020 00:43:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595403784; cv=none; d=google.com; s=arc-20160816; b=zHCHzDuXWkXJOYST6/zCpQbRog6cofEtcS75nkwz8C6JH0Vho2yorutzAFSyFARLPL cPdSWpP7AFN/Qs/5Wq4UNcZvP+AboeMWC9Rhjd2MRS17riNVJrmWOvfarsfpYGCnC0kv KaMjhki9ydQsKvHufAYfQ1qKlBboM+RKXK3g/5Dlzo4Nceq+DzX/7BJ401qLx6tGcfA0 Jo5qIOJidaA0I7y5C6TRoY9nrirJQ9kCW73fl13vGnADcTCKulGNCGMiRAvvi3iLxnb5 Q1oJqV+i/OOgTjqeZCVIkjZNyHj/2lbY3lqHKAR3/mZAHwq4pIHq7n41KNrip2VRh/Fx zc/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from; bh=5FBhTUai5olsnRif4N8DNqicqzj7AZOutcO8r+UyW18=; b=BrKkjLEG5w+T+Dn+P8FN37o+ZNp9ulq5jhXbSUdCUhgzcx76OocebVIPLtmMJDAats 3CCAyZnT8gM90TWbswp5WsLEbv91zTnqW8jxWW7OAKHcZT+e8UqVmxY/rOCHJY2YWoR8 w1tOdSizvSV/9Zwvo99NowD3N5HpSfJHd1vgtV3mfWT+m7gct7QkyiTxLwHdvEPhgJzY ut+O/Mao/KiaEjTnl8TisJJxA28+HqT3tGkaOARI0DGl1UWuIeJZJv0bXmpaLlI5iiXd ef3ZygQJjnYHo6md5Nh+Gt/VBHhswKlMO7tn1xDDYmUZ6YzjukWVIuREHSi2MsIQ0U5l GHcA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u18si14203616ejz.388.2020.07.22.00.42.42; Wed, 22 Jul 2020 00:43:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727850AbgGVHmR (ORCPT + 99 others); Wed, 22 Jul 2020 03:42:17 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:55966 "EHLO mx0b-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726506AbgGVHmR (ORCPT ); Wed, 22 Jul 2020 03:42:17 -0400 Received: from pps.filterd (m0098417.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 06M7aqT1051630; Wed, 22 Jul 2020 03:41:54 -0400 Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 32e1vrgya7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 22 Jul 2020 03:41:54 -0400 Received: from m0098417.ppops.net (m0098417.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 06M7b3a8052394; Wed, 22 Jul 2020 03:41:54 -0400 Received: from ppma03fra.de.ibm.com (6b.4a.5195.ip4.static.sl-reverse.com [149.81.74.107]) by mx0a-001b2d01.pphosted.com with ESMTP id 32e1vrgy9h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 22 Jul 2020 03:41:54 -0400 Received: from pps.filterd (ppma03fra.de.ibm.com [127.0.0.1]) by ppma03fra.de.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 06M7eI3U026337; Wed, 22 Jul 2020 07:41:52 GMT Received: from b06avi18878370.portsmouth.uk.ibm.com (b06avi18878370.portsmouth.uk.ibm.com [9.149.26.194]) by ppma03fra.de.ibm.com with ESMTP id 32brq82fc2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 22 Jul 2020 07:41:52 +0000 Received: from d06av26.portsmouth.uk.ibm.com (d06av26.portsmouth.uk.ibm.com [9.149.105.62]) by b06avi18878370.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 06M7flIu65274226 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 22 Jul 2020 07:41:47 GMT Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C8955AE04D; Wed, 22 Jul 2020 07:41:47 +0000 (GMT) Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2CB37AE045; Wed, 22 Jul 2020 07:41:47 +0000 (GMT) Received: from ozlabs.au.ibm.com (unknown [9.192.253.14]) by d06av26.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 22 Jul 2020 07:41:47 +0000 (GMT) Received: from localhost (unknown [9.206.196.98]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.au.ibm.com (Postfix) with ESMTPSA id E3330A026C; Wed, 22 Jul 2020 17:41:45 +1000 (AEST) From: Michael Ellerman To: Srikar Dronamraju Cc: Srikar Dronamraju , linuxppc-dev , LKML , Ingo Molnar , Peter Zijlstra , Valentin Schneider , Nick Piggin , Oliver OHalloran , Nathan Lynch , Michael Neuling , Anton Blanchard , Gautham R Shenoy , Vaidyanathan Srinivasan , Jordan Niethe Subject: Re: [PATCH v2 01/10] powerpc/smp: Cache node for reuse In-Reply-To: <20200721113814.32284-2-srikar@linux.vnet.ibm.com> References: <20200721113814.32284-1-srikar@linux.vnet.ibm.com> <20200721113814.32284-2-srikar@linux.vnet.ibm.com> Date: Wed, 22 Jul 2020 17:41:41 +1000 Message-ID: <87imegq9my.fsf@mpe.ellerman.id.au> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235,18.0.687 definitions=2020-07-22_03:2020-07-22,2020-07-22 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=1 mlxlogscore=999 malwarescore=0 priorityscore=1501 adultscore=0 mlxscore=0 impostorscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2007220052 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Srikar Dronamraju writes: > While cpu_to_node is inline function with access to per_cpu variable. > However when using repeatedly, it may be cleaner to cache it in a local > variable. It's not clear what "cleaner" is supposed to mean. Are you saying it makes the source clearer, or the generated code? I'm not sure it will make any difference to the latter. > Also fix a build error in a some weird config. > "error: _numa_cpu_lookup_table_ undeclared" Separate patch please. > No functional change The ifdef change means that's not true. > Cc: linuxppc-dev > Cc: LKML > Cc: Michael Ellerman > Cc: Ingo Molnar > Cc: Peter Zijlstra > Cc: Valentin Schneider > Cc: Nick Piggin > Cc: Oliver OHalloran > Cc: Nathan Lynch > Cc: Michael Neuling > Cc: Anton Blanchard > Cc: Gautham R Shenoy > Cc: Vaidyanathan Srinivasan > Cc: Jordan Niethe > Reviewed-by: Gautham R. Shenoy > Signed-off-by: Srikar Dronamraju > --- > arch/powerpc/kernel/smp.c | 18 +++++++++++------- > 1 file changed, 11 insertions(+), 7 deletions(-) > > diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c > index 73199470c265..680c0edcc59d 100644 > --- a/arch/powerpc/kernel/smp.c > +++ b/arch/powerpc/kernel/smp.c > @@ -843,7 +843,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) > > DBG("smp_prepare_cpus\n"); > > - /* > + /* > * setup_cpu may need to be called on the boot cpu. We havent > * spun any cpus up but lets be paranoid. > */ > @@ -854,20 +854,24 @@ void __init smp_prepare_cpus(unsigned int max_cpus) > cpu_callin_map[boot_cpuid] = 1; > > for_each_possible_cpu(cpu) { > + int node = cpu_to_node(cpu); > + Does cpu_to_node() even work here? Doesn't look like it to me. More fallout from 8c272261194d ("powerpc/numa: Enable USE_PERCPU_NUMA_NODE_ID") ? > zalloc_cpumask_var_node(&per_cpu(cpu_sibling_map, cpu), > - GFP_KERNEL, cpu_to_node(cpu)); > + GFP_KERNEL, node); > zalloc_cpumask_var_node(&per_cpu(cpu_l2_cache_map, cpu), > - GFP_KERNEL, cpu_to_node(cpu)); > + GFP_KERNEL, node); > zalloc_cpumask_var_node(&per_cpu(cpu_core_map, cpu), > - GFP_KERNEL, cpu_to_node(cpu)); > + GFP_KERNEL, node); > +#ifdef CONFIG_NEED_MULTIPLE_NODES > /* > * numa_node_id() works after this. > */ > if (cpu_present(cpu)) { > - set_cpu_numa_node(cpu, numa_cpu_lookup_table[cpu]); > - set_cpu_numa_mem(cpu, > - local_memory_node(numa_cpu_lookup_table[cpu])); > + node = numa_cpu_lookup_table[cpu]; > + set_cpu_numa_node(cpu, node); > + set_cpu_numa_mem(cpu, local_memory_node(node)); > } > +#endif > } > > /* Init the cpumasks so the boot CPU is related to itself */ > -- > 2.17.1 cheers