linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/4] Parse ACPI/PPTT for cache information
@ 2017-08-05  0:11 Jeremy Linton
  2017-08-05  0:11 ` [RFC 1/4] drivers: base: cacheinfo: Add support for ACPI based firmware tables Jeremy Linton
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Jeremy Linton @ 2017-08-05  0:11 UTC (permalink / raw)
  To: linux-arm-kernel

ACPI 6.2 adds the Processor Properties Topology Table (PPTT), which is
used to describe the processor and cache topologies. Ideally it is
used to extend/override information provided by the hardware, but
right now ARM64 is entirely dependent on firmware provided tables.

This patch parses the table for the cache topology only. Its quite
trivial to add processor/cluster/???/socket level parsing as well,
but that information isn't as useful as the already provided NUMA
SRAT/SLIT information which provides relative distances. The one
useful thing, is the number of physical sockets but due to the
way arm64 considers "clusters" to be sockets, a larger discussion
is required here.

An example of lstopo with this patch:

[root at mammon-juno-rh ~]# lstopo-no-graphics
Machine (8072MB)
  Package L#0 + L2 L#0 (1024KB)
    L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0 + PU L#0 (P#0)
    L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1 + PU L#1 (P#1)
    L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2 + PU L#2 (P#2)
    L1d L#3 (32KB) + L1i L#3 (32KB) + Core L#3 + PU L#3 (P#3)
  Package L#1 + L2 L#1 (2048KB)
    L1d L#4 (32KB) + L1i L#4 (48KB) + Core L#4 + PU L#4 (P#4)
    L1d L#5 (32KB) + L1i L#5 (48KB) + Core L#5 + PU L#5 (P#5)
  HostBridge L#0
    PCIBridge
      PCIBridge
        PCIBridge
          PCI 1095:3132
            Block(Disk) L#0 "sda"
        PCIBridge
          PCI 11ab:4380
            Net L#1 "enp8s0"

Jeremy Linton (4):
  drivers: base: cacheinfo: Add support for ACPI based firmware tables
  arm64: cacheinfo: Add support for ACPI/PPTT generated topology
  ACPI/PPTT: Add Processor Properties Topology Table parsing
  ACPI: Enable PPTT support on ARM64

 arch/arm64/kernel/cacheinfo.c |  23 ++-
 drivers/acpi/arm64/Kconfig    |   3 +
 drivers/acpi/arm64/Makefile   |   1 +
 drivers/acpi/arm64/pptt.c     | 389 ++++++++++++++++++++++++++++++++++++++++++
 drivers/base/cacheinfo.c      |  15 +-
 include/linux/cacheinfo.h     |   1 +
 6 files changed, 422 insertions(+), 10 deletions(-)
 create mode 100644 drivers/acpi/arm64/pptt.c

-- 
2.9.4

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-09-06 20:39 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-05  0:11 [RFC 0/4] Parse ACPI/PPTT for cache information Jeremy Linton
2017-08-05  0:11 ` [RFC 1/4] drivers: base: cacheinfo: Add support for ACPI based firmware tables Jeremy Linton
2017-08-05  0:11 ` [RFC 2/4] arm64: cacheinfo: Add support for ACPI/PPTT generated topology Jeremy Linton
2017-08-05  0:11 ` [RFC 3/4] ACPI/PPTT: Add Processor Properties Topology Table parsing Jeremy Linton
2017-09-06 10:34   ` Xiongfeng Wang
2017-09-06 20:39     ` Jeremy Linton
2017-08-05  0:11 ` [RFC 4/4] ACPI: Enable PPTT support on ARM64 Jeremy Linton
2017-09-05  7:22   ` Xiongfeng Wang
2017-08-07 10:20 ` [RFC 0/4] Parse ACPI/PPTT for cache information Hanjun Guo
2017-08-07 17:10   ` Jeffrey Hugo
2017-08-08  4:19     ` Xiongfeng Wang
2017-08-07 17:33   ` Jeremy Linton
     [not found]     ` <CAGHbJ3AL6cPribriuV0G2TvQCx+Qi9URpnpSi=UVRjf_cv_vLg@mail.gmail.com>
2017-08-21  3:15       ` Xiongfeng Wang

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