All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Andrew Jones <drjones@redhat.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>,
	andre.przywara@arm.com, qemu-arm@nongnu.org,
	kvmarm@lists.cs.columbia.edu
Subject: Re: MPIDR Aff0 question
Date: Fri, 5 Feb 2016 11:00:33 +0000	[thread overview]
Message-ID: <20160205110032.GA19614@leverpostej> (raw)
In-Reply-To: <20160205092353.GA3873@hawk.localdomain>

On Fri, Feb 05, 2016 at 10:23:53AM +0100, Andrew Jones wrote:
> On Thu, Feb 04, 2016 at 06:51:06PM +0000, Marc Zyngier wrote:
 > What would the benefit of defining a "socket"?
> 
> That's a good lead in for my next question. While I don't believe
> there needs to be any relationship between socket and numa node, I
> suspect on real machines there is, and quite possibly socket == node.
> Shannon is adding numa support to QEMU right now. Without special
> configuration there's no gain other than illusion, but with pinning,
> etc. the guest numa nodes will map to host nodes, and thus passing
> that information on to the guest's kernel is useful. Populating a
> socket/node affinity field seems to me like a needed step. But,
> question time, is it? Maybe not. 

I don't think it's necessary.

When using ACPI, NUMA info comes from SRAT+SLIT, and the MPIDR.Aff*
fields do not provide NUMA topology info. I expect the same to be true
with DT using something like numa-distance-map [1].

> Also, the way Linux currently handles non-thread using MPIDRs
> (Aff1:socket, Aff0:core) throws a wrench at the Aff2:socket,
> Aff1:"cluster", Aff0:core(max 16) plan.  Either the plan or Linux
> would need to be changed.

The topology can be explicitly overridden in DT using cpu-map [2]. I
don't know what the story for ACPI is.

Mark.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2016-February/404057.html
[2] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/arm/topology.txt?h=v4.5-rc2&id=36f90b0a2ddd60823fe193a85e60ff1906c2a9b3

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Andrew Jones <drjones@redhat.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>,
	andre.przywara@arm.com, qemu-arm@nongnu.org,
	kvmarm@lists.cs.columbia.edu
Subject: Re: MPIDR Aff0 question
Date: Fri, 5 Feb 2016 11:00:33 +0000	[thread overview]
Message-ID: <20160205110032.GA19614@leverpostej> (raw)
In-Reply-To: <20160205092353.GA3873@hawk.localdomain>

On Fri, Feb 05, 2016 at 10:23:53AM +0100, Andrew Jones wrote:
> On Thu, Feb 04, 2016 at 06:51:06PM +0000, Marc Zyngier wrote:
 > What would the benefit of defining a "socket"?
> 
> That's a good lead in for my next question. While I don't believe
> there needs to be any relationship between socket and numa node, I
> suspect on real machines there is, and quite possibly socket == node.
> Shannon is adding numa support to QEMU right now. Without special
> configuration there's no gain other than illusion, but with pinning,
> etc. the guest numa nodes will map to host nodes, and thus passing
> that information on to the guest's kernel is useful. Populating a
> socket/node affinity field seems to me like a needed step. But,
> question time, is it? Maybe not. 

I don't think it's necessary.

When using ACPI, NUMA info comes from SRAT+SLIT, and the MPIDR.Aff*
fields do not provide NUMA topology info. I expect the same to be true
with DT using something like numa-distance-map [1].

> Also, the way Linux currently handles non-thread using MPIDRs
> (Aff1:socket, Aff0:core) throws a wrench at the Aff2:socket,
> Aff1:"cluster", Aff0:core(max 16) plan.  Either the plan or Linux
> would need to be changed.

The topology can be explicitly overridden in DT using cpu-map [2]. I
don't know what the story for ACPI is.

Mark.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2016-February/404057.html
[2] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/arm/topology.txt?h=v4.5-rc2&id=36f90b0a2ddd60823fe193a85e60ff1906c2a9b3
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

  parent reply	other threads:[~2016-02-05 10:55 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-04 18:38 MPIDR Aff0 question Andrew Jones
2016-02-04 18:38 ` Andrew Jones
2016-02-04 18:51 ` Marc Zyngier
2016-02-04 18:51   ` Marc Zyngier
2016-02-05  9:23   ` Andrew Jones
2016-02-05  9:23     ` Andrew Jones
2016-02-05 10:37     ` Marc Zyngier
2016-02-05 10:37       ` Marc Zyngier
2016-02-05 12:03       ` Andrew Jones
2016-02-05 12:03         ` [Qemu-arm] " Andrew Jones
2016-02-05 13:02         ` Marc Zyngier
2016-02-05 13:02           ` Marc Zyngier
2016-02-05 11:00     ` Mark Rutland [this message]
2016-02-05 11:00       ` Mark Rutland
2016-02-05 12:08       ` Andrew Jones
2016-02-05 12:08         ` Andrew Jones

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=20160205110032.GA19614@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=andre.przywara@arm.com \
    --cc=drjones@redhat.com \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=marc.zyngier@arm.com \
    --cc=qemu-arm@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.