From: Dave Jiang <dave.jiang@intel.com>
To: "Huang, Ying" <ying.huang@intel.com>
Cc: Jonathan Cameron <Jonathan.Cameron@Huawei.com>,
<linux-cxl@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
<dan.j.williams@intel.com>, <ira.weiny@intel.com>,
<vishal.l.verma@intel.com>, <alison.schofield@intel.com>,
<dave@stgolabs.net>
Subject: Re: [PATCH v3 3/3] cxl: Add memory hotplug notifier for cxl region
Date: Tue, 9 Jan 2024 08:55:56 -0700 [thread overview]
Message-ID: <ea787557-952b-4322-8e13-c18abf5b4603@intel.com> (raw)
In-Reply-To: <87wmsj8d70.fsf@yhuang6-desk2.ccr.corp.intel.com>
On 1/8/24 19:15, Huang, Ying wrote:
> Dave Jiang <dave.jiang@intel.com> writes:
>
>> On 1/8/24 05:15, Jonathan Cameron wrote:
>>> On Mon, 08 Jan 2024 14:49:03 +0800
>>> "Huang, Ying" <ying.huang@intel.com> wrote:
>>>
>>>> Dave Jiang <dave.jiang@intel.com> writes:
<snip>
>>>>> +
>>>>> + node_set_perf_attrs(nid, &cxlr->coord, 0);
>>>>> + node_set_perf_attrs(nid, &cxlr->coord, 1);
>>>>
>>>> And this.
>>>>
>>>> But I don't think it's good to remove access level 1. According to
>>>> commit b9fffe47212c ("node: Add access1 class to represent CPU to memory
>>>> characteristics"). Access level 1 is for performance from CPU to
>>>> memory. So, we should keep access level 1. For CXL memory device,
>>>> access level 0 and access level 1 should be equivalent. Will the code
>>>> be used for something like GPU connected via CXL? Where the access
>>>> level 0 may be for the performance from GPU to the memory.
>>>>
>>> I disagree. They are no more equivalent than they are on any other complex system.
>>>
>>> e.g. A CXL root port being described using generic Port infrastructure may be
>>> on a different die (IO dies are a common architecture) in the package
>>> than the CPU cores and that IO die may well have generic initiators that
>>> are much nearer than the CPU cores.
>>>
>>> In those cases access0 will cover initators on the IO die but access1 will
>>> cover the nearest CPU cores (initiators).
>>>
>>> Both should arguably be there for CXL memory as both are as relevant as
>>> they are for any other memory.
>>>
>>> If / when we get some GPUs etc on CXL that are initiators this will all
>>> get a lot more fun but for now we can kick that into the long grass.
>>
>>
>> With the current way of storing HMAT targets information, only the
>> best performance data is stored (access0). The existing HMAT handling
>> code also sets the access1 if the associated initiator node contains a
>> CPU for conventional memory. The current calculated full CXL path is
>> the access0 data. I think what's missing is the check to see if the
>> associated initiator node is also a CPU node and sets access1
>> conditionally based on that. Maybe if that conditional gets added then
>> that is ok for what we have now?
>
> We do need access1 to put NUMA nodes into appropriate memory tiers, just
> like we have done in hmat.c. Because default memory tiers are defined
> with performance from CPU to the device. Is it possible to get access1
> always?
Let me take a look and see how to get this done. I think we'll need to define 2 access classes for the generic target numbers (instead of currently only 1) so we can store the access0 for generic port and access1 for generic port.
next prev parent reply other threads:[~2024-01-09 15:56 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-04 23:48 [PATCH v3 0/3] cxl: Add support to report region access coordinates to numa nodes Dave Jiang
2024-01-04 23:48 ` [PATCH v3 1/3] cxl/region: Calculate performance data for a region Dave Jiang
2024-01-05 0:07 ` Dan Williams
2024-01-05 22:50 ` Dave Jiang
2024-01-04 23:48 ` [PATCH v3 2/3] cxl/region: Add sysfs attribute for locality attributes of CXL regions Dave Jiang
2024-01-05 0:19 ` Dan Williams
2024-01-08 12:07 ` Jonathan Cameron
2024-01-04 23:48 ` [PATCH v3 3/3] cxl: Add memory hotplug notifier for cxl region Dave Jiang
2024-01-05 22:00 ` Dan Williams
2024-01-08 6:49 ` Huang, Ying
2024-01-08 12:15 ` Jonathan Cameron
2024-01-08 18:18 ` Dave Jiang
2024-01-09 2:15 ` Huang, Ying
2024-01-09 15:55 ` Dave Jiang [this message]
2024-01-09 16:27 ` Jonathan Cameron
2024-01-09 19:28 ` Dan Williams
2024-01-10 10:00 ` Jonathan Cameron
2024-01-10 15:27 ` Dave Jiang
2024-01-12 11:30 ` Jonathan Cameron
2024-01-12 15:57 ` Dave Jiang
2024-01-09 0:26 ` Dan Williams
2024-01-08 16:12 ` Dave Jiang
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=ea787557-952b-4322-8e13-c18abf5b4603@intel.com \
--to=dave.jiang@intel.com \
--cc=Jonathan.Cameron@Huawei.com \
--cc=alison.schofield@intel.com \
--cc=dan.j.williams@intel.com \
--cc=dave@stgolabs.net \
--cc=gregkh@linuxfoundation.org \
--cc=ira.weiny@intel.com \
--cc=linux-cxl@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=vishal.l.verma@intel.com \
--cc=ying.huang@intel.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