* Parsing PXM from ACPI (DSDT) [not found] ` <CY4PR12MB1815E6208E334CE4EA8F2670F9AD0@CY4PR12MB1815.namprd12.prod.outlook.com> @ 2019-08-14 21:29 ` Duran, Leo 2019-08-14 21:44 ` Schmauss, Erik 0 siblings, 1 reply; 2+ messages in thread From: Duran, Leo @ 2019-08-14 21:29 UTC (permalink / raw) To: linux-acpi, linux-kernel; +Cc: Rafael J. Wysocki, Len Brown Hello, Is not clear or evident to me if the kernel parses _PXM values below (or under) the root-complex. For example, in my experience: This ASL sample for PXM at the root-complex level produces the expected NUMA assignment from “lstopo”: Scope (\_SB) { // ... Device (PCI0) { // Root PCI Bus (Host-Bridge) Name (_HID, EISAID("PNP0A08")) Name (_CID, EISAID("PNP0A03")) Name (_BBN, 0) Method (_CRS,0) { // Return current resources for host bridge 0 } Name (_PRT, Package() { // Package with PCI IRQ routing table information }) Method (_PXM, 0, NotSerialized) { Return (0) } } // ... } However, This ASL sample for PXM at the P2P root-bridge level does not produce the expected NUMA assignment from “lstopo”: (Of course, the assumption is that multiple NUMA nodes actually exist on the system) Scope (\_SB) { // ... Device (PCI0) { // Root PCI Bus (Host-Bridge) Name (_HID, EISAID ("PNP0A08")) Name (_CID, EISAID ("PNP0A03")) Name (_BBN, 0) Method (_CRS,0) { // Return current resources for host bridge 0 } Name (_PRT, Package() { // Package with PCI IRQ routing table information }) Device (P2P0) { // First PCI-to-PCI bridge (Port0) Name (_ADR, 0x00070001) // Device#7h, Func#1 on bus PCI0 Name (_PRT, Package() { // Package with PCI IRQ routing table information }) Method (_PXM, 0, NotSerialized) { Return (0) } } Device (P2P1) { // Second PCI-to-PCI bridge (Port1) Name (_ADR ,0x00080001) // Device#8h, Func#1 on bus PCI0 Name (_PRT, Package() { // Package with PCI IRQ routing table information }) Method (_PXM, 0, NotSerialized) { Return (1) } } } // ... } Thanks, Leo. ^ permalink raw reply [flat|nested] 2+ messages in thread
* RE: Parsing PXM from ACPI (DSDT) 2019-08-14 21:29 ` Parsing PXM from ACPI (DSDT) Duran, Leo @ 2019-08-14 21:44 ` Schmauss, Erik 0 siblings, 0 replies; 2+ messages in thread From: Schmauss, Erik @ 2019-08-14 21:44 UTC (permalink / raw) To: Duran, Leo, linux-acpi, linux-kernel; +Cc: Rafael J. Wysocki, Len Brown > -----Original Message----- > From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi- > owner@vger.kernel.org] On Behalf Of Duran, Leo > Sent: Wednesday, August 14, 2019 2:30 PM > To: linux-acpi@vger.kernel.org; linux-kernel@vger.kernel.org > Cc: Rafael J. Wysocki <rjw@rjwysocki.net>; Len Brown <lenb@kernel.org> > Subject: Parsing PXM from ACPI (DSDT) > Hi Leo, > Hello, > Is not clear or evident to me if the kernel parses _PXM values below (or under) > the root-complex. Build with CONFIG_ACPI_DEBUG=y and boot with acpi.debug_layer=0xffffffff acpi.debug_level=0x80000 This will print all of the AcpiEvaluateObject queries to the dmesg. > > For example, in my experience: > This ASL sample for PXM at the root-complex level produces the expected > NUMA assignment from “lstopo”: > Scope (\_SB) { > // ... > Device (PCI0) { // Root PCI Bus (Host-Bridge) > Name (_HID, EISAID("PNP0A08")) > Name (_CID, EISAID("PNP0A03")) > Name (_BBN, 0) > Method (_CRS,0) { > // Return current resources for host bridge 0 > } > Name (_PRT, Package() { > // Package with PCI IRQ routing table information > }) > Method (_PXM, 0, NotSerialized) { > Return (0) > } > } > // ... > } > > However, > This ASL sample for PXM at the P2P root-bridge level does not produce the > expected NUMA assignment from “lstopo”: > (Of course, the assumption is that multiple NUMA nodes actually exist on the > system) > > Scope (\_SB) { > // ... > Device (PCI0) { // Root PCI Bus (Host-Bridge) > Name (_HID, EISAID ("PNP0A08")) > Name (_CID, EISAID ("PNP0A03")) > Name (_BBN, 0) > Method (_CRS,0) { > // Return current resources for host bridge 0 > } > Name (_PRT, Package() { > // Package with PCI IRQ routing table information > }) > > Device (P2P0) { // First PCI-to-PCI bridge (Port0) > Name (_ADR, 0x00070001) // Device#7h, Func#1 on bus PCI0 > Name (_PRT, Package() { > // Package with PCI IRQ routing table information > }) > Method (_PXM, 0, NotSerialized) { > Return (0) > } > } > > Device (P2P1) { // Second PCI-to-PCI bridge (Port1) > Name (_ADR ,0x00080001) // Device#8h, Func#1 on bus PCI0 > Name (_PRT, Package() { > // Package with PCI IRQ routing table information > }) > Method (_PXM, 0, NotSerialized) { > Return (1) > } > } > } > // ... > } > > Thanks, > Leo. ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-08-14 21:44 UTC | newest] Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <CY4PR12MB1815927E36A8A9A0E5B18734F9D20@CY4PR12MB1815.namprd12.prod.outlook.com> [not found] ` <CY4PR12MB18156AA493BA8F3C28F0377FF9AD0@CY4PR12MB1815.namprd12.prod.outlook.com> [not found] ` <CY4PR12MB1815E6208E334CE4EA8F2670F9AD0@CY4PR12MB1815.namprd12.prod.outlook.com> 2019-08-14 21:29 ` Parsing PXM from ACPI (DSDT) Duran, Leo 2019-08-14 21:44 ` Schmauss, Erik
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).