From: Andrew Jones <drjones@redhat.com>
To: Mark Rutland <mark.rutland@arm.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 13:08:50 +0100 [thread overview]
Message-ID: <20160205120850.GE3873@hawk.localdomain> (raw)
In-Reply-To: <20160205110032.GA19614@leverpostej>
On Fri, Feb 05, 2016 at 11:00:33AM +0000, Mark Rutland wrote:
> 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].
Thanks Mark. So it appears my NUMA connection was just muddying the
water. Modeling sockets may or may not have any value to a guest,
but in any case it's a separate issue.
>
> > 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.
Thanks for the cpu-map pointer. That was indeed the piece I'd missed
that allows me to make sense of MPIDR affinity level use. I think I'll
still look into modeling sockets/cores/threads with QEMU, by also
adding cpu-map generation. I'll look into what the ACPI equivalent is
as well.
drew
>
> 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
prev parent reply other threads:[~2016-02-05 12:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-04 18:38 MPIDR Aff0 question Andrew Jones
2016-02-04 18:51 ` Marc Zyngier
2016-02-05 9:23 ` Andrew Jones
2016-02-05 10:37 ` Marc Zyngier
2016-02-05 12:03 ` [Qemu-arm] " Andrew Jones
2016-02-05 13:02 ` Marc Zyngier
2016-02-05 11:00 ` Mark Rutland
2016-02-05 12:08 ` Andrew Jones [this message]
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=20160205120850.GE3873@hawk.localdomain \
--to=drjones@redhat.com \
--cc=andre.przywara@arm.com \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@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 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).