linux-riscv.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Morten Rasmussen <morten.rasmussen@arm.com>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	"Peter Zijlstra \(Intel\)" <peterz@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Palmer Dabbelt <palmer@sifive.com>,
	Will Deacon <will.deacon@arm.com>,
	Atish Patra <atish.patra@wdc.com>,
	Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
	linux-riscv@lists.infradead.org, Ingo Molnar <mingo@kernel.org>,
	Rob Herring <robh@kernel.org>, Anup Patel <anup@brainfault.org>,
	Russell King - ARM Linux admin <linux@armlinux.org.uk>,
	devicetree@vger.kernel.org, Albert Ou <aou@eecs.berkeley.edu>,
	Rob Herring <robh+dt@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arm-kernel@lists.infradead.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org,
	Jeremy Linton <jeremy.linton@arm.com>,
	"Andrew F. Davis" <afd@ti.com>,
	Otto Sabart <ottosabart@seberm.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v6 1/7] Documentation: DT: arm: add support for sockets defining package boundaries
Date: Fri, 31 May 2019 10:54:28 +0100	[thread overview]
Message-ID: <20190531095428.GC10919@e105550-lin.cambridge.arm.com> (raw)
In-Reply-To: <20190531093743.GB18292@e107155-lin>

On Fri, May 31, 2019 at 10:37:43AM +0100, Sudeep Holla wrote:
> On Thu, May 30, 2019 at 10:42:54PM +0100, Russell King - ARM Linux admin wrote:
> > On Thu, May 30, 2019 at 12:51:03PM +0100, Morten Rasmussen wrote:
> > > On Wed, May 29, 2019 at 07:39:17PM -0400, Andrew F. Davis wrote:
> > > > On 5/29/19 5:13 PM, Atish Patra wrote:
> > > > >From: Sudeep Holla <sudeep.holla@arm.com>
> > > > >
> > > > >The current ARM DT topology description provides the operating system
> > > > >with a topological view of the system that is based on leaf nodes
> > > > >representing either cores or threads (in an SMT system) and a
> > > > >hierarchical set of cluster nodes that creates a hierarchical topology
> > > > >view of how those cores and threads are grouped.
> > > > >
> > > > >However this hierarchical representation of clusters does not allow to
> > > > >describe what topology level actually represents the physical package or
> > > > >the socket boundary, which is a key piece of information to be used by
> > > > >an operating system to optimize resource allocation and scheduling.
> > > > >
> > > >
> > > > Are physical package descriptions really needed? What does "socket" imply
> > > > that a higher layer "cluster" node grouping does not? It doesn't imply a
> > > > different NUMA distance and the definition of "socket" is already not well
> > > > defined, is a dual chiplet processor not just a fancy dual "socket" or are
> > > > dual "sockets" on a server board "slotket" card, will we need new names for
> > > > those too..
> > >
> > > Socket (or package) just implies what you suggest, a grouping of CPUs
> > > based on the physical socket (or package). Some resources might be
> > > associated with packages and more importantly socket information is
> > > exposed to user-space. At the moment clusters are being exposed to
> > > user-space as sockets which is less than ideal for some topologies.
> >
> > Please point out a 32-bit ARM system that has multiple "socket"s.
> >
> > As far as I'm aware, all 32-bit systems do not have socketed CPUs
> > (modern ARM CPUs are part of a larger SoC), and the CPUs are always
> > in one package.
> >
> > Even the test systems I've seen do not have socketed CPUs.
> >
> 
> As far as we know, there's none. So we simply have to assume all
> those systems are single socket(IOW all CPUs reside inside a single
> SoC package) system.

Right, but we don't make that assumption. Clusters are reported as
sockets/packages for arm, just like they are for arm64. My comment above
applied to what can be described using DT, not what systems actually
exists. We need to be able describe packages for architecture where we
can't make assumptions.

arm example (ARM TC2):
root@morras01-tc2:~# lstopo
Machine (985MB)
  Package L#0
    Core L#0 + PU L#0 (P#0)
    Core L#1 + PU L#1 (P#1)
  Package L#1
    Core L#2 + PU L#2 (P#2)
    Core L#3 + PU L#3 (P#3)
    Core L#4 + PU L#4 (P#4)

Morten

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2019-05-31  9:54 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-29 21:13 [PATCH v6 0/7] Unify CPU topology across ARM & RISC-V Atish Patra
2019-05-29 21:13 ` [PATCH v6 1/7] Documentation: DT: arm: add support for sockets defining package boundaries Atish Patra
2019-05-29 23:39   ` Andrew F. Davis
2019-05-30 11:51     ` Morten Rasmussen
2019-05-30 12:56       ` Andrew F. Davis
2019-05-30 13:12         ` Morten Rasmussen
2019-05-31  9:41         ` Sudeep Holla
2019-05-30 21:42       ` Russell King - ARM Linux admin
2019-05-31  9:37         ` Sudeep Holla
2019-05-31  9:54           ` Morten Rasmussen [this message]
2019-05-29 21:13 ` [PATCH v6 2/7] dt-binding: cpu-topology: Move cpu-map to a common binding Atish Patra
2019-05-30 20:55   ` Jeremy Linton
2019-06-03  8:49     ` Atish Patra
2019-06-03  9:05       ` Sudeep Holla
2019-05-29 21:13 ` [PATCH v6 3/7] cpu-topology: Move cpu topology code to common code Atish Patra
2019-06-06 14:26   ` Atish Patra
2019-06-11 15:55   ` Will Deacon
2019-05-29 21:13 ` [PATCH v6 4/7] arm: Use common cpu_topology structure and functions Atish Patra
2019-06-06 14:25   ` Atish Patra
2019-05-29 21:13 ` [PATCH v6 5/7] RISC-V: Parse cpu topology during boot Atish Patra
2019-06-07  5:00   ` Paul Walmsley
2019-05-29 21:13 ` [PATCH v6 6/7] base: arch_topology: update Kconfig help description Atish Patra
2019-05-29 21:13 ` [PATCH v6 7/7] MAINTAINERS: Add an entry for generic architecture topology Atish Patra
2019-05-30 21:12 ` [PATCH v6 0/7] Unify CPU topology across ARM & RISC-V Jeremy Linton
2019-06-03  8:50   ` Atish Patra

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=20190531095428.GC10919@e105550-lin.cambridge.arm.com \
    --to=morten.rasmussen@arm.com \
    --cc=afd@ti.com \
    --cc=anup@brainfault.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=atish.patra@wdc.com \
    --cc=catalin.marinas@arm.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jeremy.linton@arm.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=mchehab+samsung@kernel.org \
    --cc=mingo@kernel.org \
    --cc=ottosabart@seberm.com \
    --cc=palmer@sifive.com \
    --cc=paul.walmsley@sifive.com \
    --cc=peterz@infradead.org \
    --cc=rafael@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=robh@kernel.org \
    --cc=sudeep.holla@arm.com \
    --cc=tglx@linutronix.de \
    --cc=will.deacon@arm.com \
    /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).