lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZIxLtIsWABFCSFg/@feng-clx>
Date:   Fri, 16 Jun 2023 19:47:00 +0800
From:   Feng Tang <feng.tang@...el.com>
To:     "Zhang, Rui" <rui.zhang@...el.com>
CC:     "peterz@...radead.org" <peterz@...radead.org>,
        "bp@...en8.de" <bp@...en8.de>,
        "dave.hansen@...ux.intel.com" <dave.hansen@...ux.intel.com>,
        "Chen, Tim C" <tim.c.chen@...el.com>,
        "hpa@...or.com" <hpa@...or.com>,
        "tglx@...utronix.de" <tglx@...utronix.de>,
        "x86@...nel.org" <x86@...nel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "paulmck@...nel.org" <paulmck@...nel.org>,
        "mingo@...hat.com" <mingo@...hat.com>,
        "Woodhouse, David" <dwmw@...zon.co.uk>
Subject: Re: [Patch v2 2/2] x86/tsc: use logical_packages as a better
 estimation of socket numbers

On Fri, Jun 16, 2023 at 07:23:12PM +0800, Zhang, Rui wrote:
> On Fri, 2023-06-16 at 11:42 +0200, Peter Zijlstra wrote:
> > On Fri, Jun 16, 2023 at 09:19:18AM +0000, Zhang, Rui wrote:
> > 
> > > According to the MADT, there are indeed 40 valid CPUs. And then 80
> > > CPUs
> > > with 
> > > 
> > > APIC ID         : FF
> > > enabled         : 0
> > > Online capable  : 0
> > > 
> > > a dumb question, why are these CPUs added into the possible_mask?
> > > I can dig into this later but I just don't have a quick answer at
> > > the
> > > moment.
> > 
> > I really don't know.. I've not gotten around to reading that part of
> > the
> > x86 code yet.
> > 
> > 
> I did a double check.
> 
> The MADT is composed of
> 
> 1. 40 valid LAPIC entries.
> 2. 80 invalid LAPIC entries with
> 	APIC ID : FF
> 	Enabled : 0
> 	Online capable: 0
>    I'm mot sure why "Online capable" is decoded because this new bit is
>    introduced in ACPI 6.3. Maybe a problem in the acpica tool?
>    These entries are ignored because of the invalid APIC ID.
> 3. 120 x2APIC entries with
> 	APIC ID : valid value
> 	Enabled : 0
>    As "Online capable bit" is not supported, these 120 x2APIC entries
>    are counted as possible CPUs.
 
Nice shot!

So IIUC, this is a firmware bug, and deserves a warning or error
message? And without 'possible_cpus' or 'nr_cpus' parameter, system
will waste quite some memory due to "nr_cpu_ids == 160".

>From Peter's log:

	[    2.664257] smpboot: Max logical packages: 8

it also revealed again the problem in 'calculate_max_logical_packages()': 
	
	"
	ncpus = cpu_data(0).booted_cores * topology_max_smt_threads();
	__max_logical_packages = DIV_ROUND_UP(total_cpus, ncpus);
	pr_info("Max logical packages: %u\n", __max_logical_packages);
	"

But 'logical_packages' should still be correct in this case.

Thanks,
Feng

> That is why we got 160 possible CPUs.
> 
> thanks,
> rui
> 
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ