linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 6/7] arm64: topology: Enable ACPI/PPTT based CPU topology.
Date: Fri, 20 Oct 2017 10:14:28 +0100	[thread overview]
Message-ID: <20171020091428.GA21060@red-moon> (raw)
In-Reply-To: <6a9836f5-d31c-67fb-b2dd-bc0972ebb1c2@arm.com>

On Thu, Oct 19, 2017 at 11:13:27AM -0500, Jeremy Linton wrote:
> On 10/19/2017 10:56 AM, Lorenzo Pieralisi wrote:
> >On Thu, Oct 12, 2017 at 02:48:55PM -0500, Jeremy Linton wrote:
> >>Propagate the topology information from the PPTT tree to the
> >>cpu_topology array. We can get the thread id, core_id and
> >>cluster_id by assuming certain levels of the PPTT tree correspond
> >>to those concepts. The package_id is flagged in the tree and can be
> >>found by passing an arbitrary large level to setup_acpi_cpu_topology()
> >>which terminates its search when it finds an ACPI node flagged
> >>as the physical package. If the tree doesn't contain enough
> >>levels to represent all of thread/core/cod/package then the package
> >>id will be used for the missing levels.
> >>
> >>Since server/ACPI machines are more likely to be multisocket and NUMA,
> >
> >I think this stuff is vague enough already so to start with I would drop
> >patch 4 and 5 and stop assuming what machines are more likely to ship
> >with ACPI than DT.
> >
> >I am just saying, for the umpteenth time, that these levels have no
> >architectural meaning _whatsoever_, level is a hierarchy concept
> >with no architectural meaning attached.
> 
> ?
> 
> Did anyone say anything about that? No, I think the only thing being
> guaranteed here is that the kernel's physical_id maps to an ACPI
> defined socket. Which seems to be the mindset of pretty much the
> entire !arm64 community meaning they are optimizing their software
> and the kernel with that concept in mind.
> 
> Are you denying the existence of non-uniformity between threads
> running on different physical sockets?

No, I have not explained my POV clearly, apologies.

AFAIK, the kernel currently deals with 2 (3 - if SMT) topology layers.

1) thread
2) core
3) package

What I wanted to say is, that, to simplify this series, you do not need
to introduce the COD topology level, since it is just another arbitrary
topology level (ie there is no way you can pinpoint which level
corresponds to COD with PPTT - or DT for the sake of this discussion)
that would not be used in the kernel (apart from big.LITTLE cpufreq
driver and PSCI checker whose usage of topology_physical_package_id() is
questionable anyway).

PPTT allows you to define what level corresponds to a package, use
it to initialize the package topology level (that on ARM internal
variables we call cluster) and be done with it.

I do not think that adding another topology level improves anything as
far as ACPI topology detection is concerned, you are not able to use it
in the scheduler or from userspace to group CPUs anyway.

Does this answer your question ?

Thanks,
Lorenzo

  reply	other threads:[~2017-10-20  9:14 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-12 19:48 [PATCH v3 0/7] Support PPTT for ARM64 Jeremy Linton
2017-10-12 19:48 ` [PATCH v3 1/7] ACPI/PPTT: Add Processor Properties Topology Table parsing Jeremy Linton
2017-10-13  9:56   ` Julien Thierry
2017-10-13 22:41     ` Jeremy Linton
2017-10-13 14:23   ` tn
2017-10-13 19:58     ` Jeremy Linton
2017-10-16 14:24   ` John Garry
2017-10-17 13:25   ` Tomasz Nowicki
2017-10-17 15:22     ` Jeremy Linton
2017-10-18  1:10       ` Xiongfeng Wang
2017-10-18  5:39       ` Tomasz Nowicki
2017-10-18 10:24         ` Tomasz Nowicki
2017-10-18 17:30           ` Jeremy Linton
2017-10-19  5:18             ` Tomasz Nowicki
2017-10-19 10:25               ` John Garry
2017-10-27  5:21                 ` Tomasz Nowicki
2017-10-19 14:24               ` Jeremy Linton
2017-10-19 10:22   ` Lorenzo Pieralisi
2017-10-19 15:43     ` Jeremy Linton
2017-10-20 10:15       ` Lorenzo Pieralisi
2017-10-20 19:53   ` Christ, Austin
2017-10-23 21:14     ` Jeremy Linton
2017-10-12 19:48 ` [PATCH v3 2/7] ACPI: Enable PPTT support on ARM64 Jeremy Linton
2017-10-13  9:53   ` Hanjun Guo
2017-10-13 17:51     ` Jeremy Linton
2017-10-18 16:47   ` Lorenzo Pieralisi
2017-10-18 17:38     ` Jeremy Linton
2017-10-19  9:12       ` Lorenzo Pieralisi
2017-10-12 19:48 ` [PATCH v3 3/7] drivers: base: cacheinfo: arm64: Add support for ACPI based firmware tables Jeremy Linton
2017-10-19 15:20   ` Lorenzo Pieralisi
2017-10-19 15:52     ` Jeremy Linton
2017-10-12 19:48 ` [PATCH v3 4/7] Topology: Add cluster on die macros and arm64 decoding Jeremy Linton
2017-10-12 19:48 ` [PATCH v3 5/7] arm64: Fixup users of topology_physical_package_id Jeremy Linton
2017-10-12 19:48 ` [PATCH v3 6/7] arm64: topology: Enable ACPI/PPTT based CPU topology Jeremy Linton
2017-10-19 15:56   ` Lorenzo Pieralisi
2017-10-19 16:13     ` Jeremy Linton
2017-10-20  9:14       ` Lorenzo Pieralisi [this message]
2017-10-20 16:14         ` Jeremy Linton
2017-10-20 16:42           ` Sudeep Holla
2017-10-20 19:55           ` Jeffrey Hugo
2017-10-23 21:26             ` Jeremy Linton
2017-10-19 16:54     ` Jeremy Linton
2017-10-20  9:22       ` Lorenzo Pieralisi
2017-11-01 20:29         ` Al Stone
2017-11-02 10:48           ` Lorenzo Pieralisi
2017-10-12 19:48 ` [PATCH v3 7/7] ACPI: Add PPTT to injectable table list Jeremy Linton
2017-10-13 11:08 ` [PATCH v3 0/7] Support PPTT for ARM64 John Garry
2017-10-13 19:34   ` Jeremy Linton
2017-10-31 12:46 ` Jon Masters

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171020091428.GA21060@red-moon \
    --to=lorenzo.pieralisi@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).