From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752713AbdJTJDY (ORCPT ); Fri, 20 Oct 2017 05:03:24 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:37879 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752414AbdJTJDH (ORCPT ); Fri, 20 Oct 2017 05:03:07 -0400 Date: Fri, 20 Oct 2017 11:03:03 +0200 (CEST) From: Thomas Gleixner To: Prarit Bhargava cc: linux-kernel@vger.kernel.org, Andi Kleen , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Peter Zijlstra , Dave Hansen , Piotr Luc , Kan Liang , Borislav Petkov , Stephane Eranian , Arvind Yadav , Andy Lutomirski , Christian Borntraeger , "Kirill A. Shutemov" , Tom Lendacky , He Chen , Mathias Krause , Tim Chen , Vitaly Kuznetsov Subject: Re: [PATCH 2/3 v3] x86/topology: Avoid wasting 128k for package id array In-Reply-To: <20171019155713.27097-3-prarit@redhat.com> Message-ID: References: <20171019155713.27097-1-prarit@redhat.com> <20171019155713.27097-3-prarit@redhat.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 19 Oct 2017, Prarit Bhargava wrote: > static void remove_siblinginfo(int cpu) > { > - int sibling; > + int phys_pkg_id, sibling; > struct cpuinfo_x86 *c = &cpu_data(cpu); > > for_each_cpu(sibling, topology_core_cpumask(cpu)) { > @@ -1529,6 +1526,12 @@ static void remove_siblinginfo(int cpu) > cpumask_clear(topology_core_cpumask(cpu)); > c->phys_proc_id = 0; > c->cpu_core_id = 0; > + > + phys_pkg_id = c->phys_pkg_id; > + c->phys_pkg_id = U16_MAX; This leaves c->logical_proc_set = 1, which is inconsistent at best. I have no idea why we need this logical_proc_set flag at all. > + if (topology_phys_to_logical_pkg(phys_pkg_id) < 0) > + logical_packages--; Now this has another issue. Depending on hotplug ordering the logical package association can change across hotplug operations. I don't know it that's an issue, but this needs to be analyzed before we merge that. Thanks, tglx