* 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).