From: Dan Williams <dan.j.williams@intel.com>
To: Jason Gunthorpe <jgg@nvidia.com>, David Hildenbrand <david@redhat.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Alex Williamson <alex.williamson@redhat.com>,
Ankit Agrawal <ankita@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>,
"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: Tue, 9 Jan 2024 11:36:03 -0800 [thread overview]
Message-ID: <659da02316cab_24a829418@dwillia2-xfh.jf.intel.com.notmuch> (raw)
In-Reply-To: <20240109171030.GE439767@nvidia.com>
Jason Gunthorpe wrote:
> On Tue, Jan 09, 2024 at 06:02:03PM +0100, David Hildenbrand wrote:
> > > Given that, an alternative proposal that I think would work
> > > for you would be to add a 'placeholder' memory node definition
> > > in SRAT (so allow 0 size explicitly - might need a new SRAT
> > > entry to avoid backwards compat issues).
> >
> > Putting all the PCI/GI/... complexity aside, I'll just raise again that for
> > virtio-mem something simple like that might be helpful as well, IIUC.
> >
> > -numa node,nodeid=2 \
> > ...
> > -device virtio-mem-pci,node=2,... \
> >
> > All we need is the OS to prepare for an empty node that will get populated
> > with memory later.
>
> That is all this is doing too, the NUMA relationship of the actual
> memory is desribed already by the PCI device since it is a BAR on the
> device.
>
> The only purpose is to get the empty nodes into Linux :(
>
> > So if that's what a "placeholder" node definition in srat could achieve as
> > well, even without all of the other acpi-generic-initiator stuff, that would
> > be great.
>
> Seems like there are two use quite similar cases.. virtio-mem is going
> to be calling the same family of kernel API I suspect :)
It seems sad that we, as an industry, went through all of this trouble
to define a dynamically enumerable CXL device model only to turn around
and require static ACPI tables to tell us how to enumerate it.
A similar problem exists on the memory target side and the approach
taken there was to have Linux statically reserve at least enough numa
node numbers for all the platform CXL memory ranges (defined in the
ACPI.CEDT.CFMWS), but with the promise to come back and broach the
dynamic node creation problem "if the need arises".
This initiator-node enumeration case seems like that occasion where the
need has arisen to get Linux out of the mode of needing to declare all
possible numa nodes early in boot. Allow for nodes to be discoverable
post NUMA-init.
One strawman scheme that comes to mind is instead of "add nodes early" in
boot, "delete unused nodes late" in boot after the device topology has
been enumerated. Otherwise, requiring static ACPI tables to further
enumerate an industry-standard dynamically enumerated bus seems to be
going in the wrong direction.
next prev parent reply other threads:[~2024-01-09 19:37 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 [this message]
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
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=659da02316cab_24a829418@dwillia2-xfh.jf.intel.com.notmuch \
--to=dan.j.williams@intel.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=acurrid@nvidia.com \
--cc=alex.williamson@redhat.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).