From: Alex Williamson <alex.williamson@redhat.com>
To: Ankit Agrawal <ankita@nvidia.com>
Cc: Jonathan Cameron <Jonathan.Cameron@Huawei.com>,
Jason Gunthorpe <jgg@nvidia.com>,
"clg@redhat.com" <clg@redhat.com>,
"shannon.zhaosl@gmail.com" <shannon.zhaosl@gmail.com>,
"peter.maydell@linaro.org" <peter.maydell@linaro.org>,
"ani@anisinha.ca" <ani@anisinha.ca>,
"berrange@redhat.com" <berrange@redhat.com>,
"eduardo@habkost.net" <eduardo@habkost.net>,
"imammedo@redhat.com" <imammedo@redhat.com>,
"mst@redhat.com" <mst@redhat.com>,
"eblake@redhat.com" <eblake@redhat.com>,
"armbru@redhat.com" <armbru@redhat.com>,
"david@redhat.com" <david@redhat.com>,
"gshan@redhat.com" <gshan@redhat.com>,
Aniket Agashe <aniketa@nvidia.com>, Neo Jia <cjia@nvidia.com>,
Kirti Wankhede <kwankhede@nvidia.com>,
"Tarun Gupta (SW-GPU)" <targupta@nvidia.com>,
Vikram Sethi <vsethi@nvidia.com>,
Andy Currid <acurrid@nvidia.com>,
Dheeraj Nigam <dnigam@nvidia.com>, Uday Dhoke <udhoke@nvidia.com>,
"qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [PATCH v6 1/2] qom: new object to associate device to numa node
Date: Thu, 4 Jan 2024 10:23:00 -0700 [thread overview]
Message-ID: <20240104102300.0f9e5aa1.alex.williamson@redhat.com> (raw)
In-Reply-To: <SA1PR12MB7199DF47EDDA9419E22FD79FB067A@SA1PR12MB7199.namprd12.prod.outlook.com>
On Thu, 4 Jan 2024 03:36:06 +0000
Ankit Agrawal <ankita@nvidia.com> wrote:
> Thanks Jonathan for the review.
>
> > As per reply to the cover letter I definitely want to see SRAT table dumps
> > in here though so we can easily see what this is actually building.
>
> Ack.
>
> > I worry that some OS might make the assumption that it's one GI node
> > per PCI device though. The language in the ACPI specification is:
> >
> > "The Generic Initiator Affinity Structure provides the association between _a_
> > generic initiator and _the_ proximity domain to which the initiator belongs".
> >
> > The use of _a_ and _the_ in there makes it pretty explicitly a N:1 relationship
> > (multiple devices can be in same proximity domain, but a device may only be in one).
> > To avoid that confusion you will need an ACPI spec change. I'd be happy to
> > support
>
> Yeah, that's a good point. It won't hurt to make the spec change to make the
> possibility of the association between a device with multiple domains.
>
> > The reason you can get away with this in Linux today is that I only implemented
> > a very minimal support for GIs with the mappings being provided the other way
> > around (_PXM in a PCIe node in DSDT). If we finish that support off I'd assume
>
> Not sure if I understand this. Can you provide a reference to this DSDT related
> change?
>
> > Also, this effectively creates a bunch of separate generic initiator nodes
> > and lumping that under one object seems to imply they are in general connected
> > to each other.
> >
> > I'd be happier with a separate instance per GI node
> >
> > -object acpi-generic-initiator,id=gi1,pci-dev=dev1,nodeid=10
> > -object acpi-generic-initiator,id=gi2,pci-dev=dev1,nodeid=11
> > etc with the proviso that anyone using this on a system that assumes a one
> > to one mapping for PCI
> >
> > However, I'll leave it up to those more familiar with the QEMU numa
> > control interface design to comment on whether this approach is preferable
> > to making the gi part of the numa node entry or doing it like hmat.
>
> > -numa srat-gi,node-id=10,gi-pci-dev=dev1
>
> The current way of acpi-generic-initiator object usage came out of the discussion
> on v1 to essentially link all the device NUMA nodes to the device.
> (https://lore.kernel.org/all/20230926131427.1e441670.alex.williamson@redhat.com/)
>
> Can Alex or David comment on which is preferable (the current mechanism vs 1:1
> mapping per object as suggested by Jonathan)?
I imagine there are ways that either could work, but specifying a
gi-pci-dev in the numa node declaration appears to get a bit messy if we
have multiple gi-pci-dev devices to associate to the node whereas
creating an acpi-generic-initiator object per individual device:node
relationship feels a bit easier to iterate.
Also if we do extend the ACPI spec to more explicitly allow a device to
associate to multiple nodes, we could re-instate the list behavior of
the acpi-generic-initiator whereas I don't see a representation of the
association at the numa object that makes sense. Thanks,
Alex
next prev parent reply other threads:[~2024-01-04 17:26 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-25 4:56 [PATCH v6 0/2] acpi: report numa nodes for device memory using GI ankita
2023-12-25 4:56 ` [PATCH v6 1/2] qom: new object to associate device to numa node ankita
2024-01-02 12:58 ` Jonathan Cameron via
2024-01-04 3:36 ` Ankit Agrawal
2024-01-04 12:33 ` Ankit Agrawal
2024-01-04 16:40 ` Ankit Agrawal
2024-01-04 17:39 ` Alex Williamson
2024-01-09 16:52 ` Jonathan Cameron via
2024-01-09 17:02 ` David Hildenbrand
2024-01-09 17:10 ` Jason Gunthorpe
2024-01-09 19:36 ` Dan Williams
2024-01-09 19:38 ` Jason Gunthorpe
2024-01-10 23:19 ` Dan Williams
2024-01-11 7:01 ` Michael S. Tsirkin
2024-01-16 14:02 ` Ankit Agrawal
2024-01-04 17:23 ` Alex Williamson [this message]
2024-01-09 4:21 ` Ankit Agrawal
2024-01-09 16:38 ` Jonathan Cameron via
2024-01-08 12:09 ` Markus Armbruster
2024-01-09 4:11 ` Ankit Agrawal
2024-01-09 7:02 ` Markus Armbruster
2023-12-25 4:56 ` [PATCH v6 2/2] hw/acpi: Implement the SRAT GI affinity structure ankita
2024-01-02 12:31 ` [PATCH v6 0/2] acpi: report numa nodes for device memory using GI Jonathan Cameron via
2024-01-04 3:05 ` Ankit Agrawal
2024-02-12 16:05 ` Michael S. Tsirkin
2024-02-13 3:32 ` Ankit Agrawal
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=20240104102300.0f9e5aa1.alex.williamson@redhat.com \
--to=alex.williamson@redhat.com \
--cc=Jonathan.Cameron@Huawei.com \
--cc=acurrid@nvidia.com \
--cc=ani@anisinha.ca \
--cc=aniketa@nvidia.com \
--cc=ankita@nvidia.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=cjia@nvidia.com \
--cc=clg@redhat.com \
--cc=david@redhat.com \
--cc=dnigam@nvidia.com \
--cc=eblake@redhat.com \
--cc=eduardo@habkost.net \
--cc=gshan@redhat.com \
--cc=imammedo@redhat.com \
--cc=jgg@nvidia.com \
--cc=kwankhede@nvidia.com \
--cc=mst@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=shannon.zhaosl@gmail.com \
--cc=targupta@nvidia.com \
--cc=udhoke@nvidia.com \
--cc=vsethi@nvidia.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).