public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Dave Jiang <dave.jiang@intel.com>
Cc: <linux-cxl@vger.kernel.org>, <linux-acpi@vger.kernel.org>,
	<dan.j.williams@intel.com>, <ira.weiny@intel.com>,
	<vishal.l.verma@intel.com>, <alison.schofield@intel.com>,
	<dave@stgolabs.net>, <rafael@kernel.org>,
	<gregkh@linuxfoundation.org>
Subject: Re: [PATCH v6 0/12] cxl: Add support to report region access coordinates to numa nodes
Date: Wed, 6 Mar 2024 14:55:01 +0000	[thread overview]
Message-ID: <20240306145501.0000730f@Huawei.com> (raw)
In-Reply-To: <20240220231402.3156281-1-dave.jiang@intel.com>

On Tue, 20 Feb 2024 16:12:29 -0700
Dave Jiang <dave.jiang@intel.com> wrote:

> Hi Rafael,
> Please review patches 1-4,10,11 and ack if they look ok to you. Thank you!
> 
> Hi Greg,
> Please review patch 2 and 11 and ack the numa node bits if they look ok to you. Thank you!

Whilst currently a bit light weight, I poked this along with the QEMU Generic Port emulation
on the gitlab.com/jic23/qemu cxl-2024-03-05 and some pathological cases from host side,

It works so

Tested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

> 
> v6:
> - Enhance macros used to reduce code for cxl access coordinates sysfs attrs (Jonathan)
> - Various minor updates and fixes, see per commit details. (Jonathan)
> - Added review tags from Jonathan.
> 
> v5:
> - Fix various 0-day issues
> - Remove EXPORT_SYMBOL for cxl_coords_combine() (Dan)
> - Rebased against fixes series for qos_class [1].
> 
> v4:
> - Introduce access class 0 and 1 for CXL access coordinates.
> - See individual patches for detailed change log if applicable.
> 
> v3:
> - Make attributes not visible if no data. (Jonathan)
> - Fix documentation verbiage. (Jonathan)
> - Check against read bandwidth instead of write bandwidth due to future RO devices. (Jonathan)
> - Export node_set_perf_attrs() to all namespaces. (Jonathan)
> - Remove setting of coordinate access level 1. (Jonathan)
> 
> v2:
> - Move calculation function to core/cdat.c due to QTG series changes
> - Make cxlr->coord static (Dan)
> - Move calculation to cxl_region_attach to be under cxl_dpa_rwsem (Dan)
> - Normalize perf latency numbers to nanoseconds (Brice)
> - Update documentation with units and initiator details (Brice, Dan)
> - Fix notifier return values (Dan)
> - Use devm_add_action_or_reset() to unregister memory notifier (Dan)
> 
> This series adds support for computing the performance data of a CXL region
> and also updates the performance data to the NUMA node. This series depends
> on the CXL QOS class series that's pending 6.8 pull request.
> 
> CXL memory devices already attached before boot are enumerated by the BIOS.
> The SRAT and HMAT tables are properly setup to including memory regions
> enumerated from those CXL memory devices. For regions not programmed or a
> hot-plugged CXL memory device, the BIOS does not have the relevant
> information and the performance data has to be caluclated by the driver
> post region assembly.
> 
> According to numaperf documentation [2] there are 2 access classes defined
> for performance between an initiator node and a memory target node. Access
> class "0" describes attributes between a memory target and the highest
> performing initator local to the target. In this case the initiator can be
> a CPU or an I/O initiator such as a GPU or NIC. Access class "1" describes
> attributes between a memory target and the nearest CPU node. Both access
> classes are calculated for the CXL memory target and updated for NUMA nodes
> through HMAT_REPORTING code or directly depending on if the NUMA node is
> described by the ACPI SRAT table.
> 
> Recall from qos_class series (v6.8) that the performance data for the ranges
> of a CXL memory device is computed and cached. A CXL memory region can be
> backed by one or more devices. Thus the performance data would be the
> aggregated bandwidth of all devices that back a region and the worst
> latency out of all devices backing the region.
> 
> See kernel git branch [3] for convenience.
> 
> [1]: https://lore.kernel.org/linux-cxl/20240206190431.1810289-1-dave.jiang@intel.com/T/#t 
> [2]: https://www.kernel.org/doc/Documentation/admin-guide/mm/numaperf.rst
> [3]: https://git.kernel.org/pub/scm/linux/kernel/git/djiang/linux.git/log/?h=cxl-hmem-report
> 


      parent reply	other threads:[~2024-03-06 14:55 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-20 23:12 [PATCH v6 0/12] cxl: Add support to report region access coordinates to numa nodes Dave Jiang
2024-02-20 23:12 ` [PATCH v6 01/12] ACPI: HMAT: Remove register of memory node for generic target Dave Jiang
2024-02-20 23:12 ` [PATCH v6 02/12] base/node / ACPI: Enumerate node access class for 'struct access_coordinate' Dave Jiang
2024-03-07 21:02   ` Greg KH
2024-02-20 23:12 ` [PATCH v6 03/12] ACPI: HMAT: Introduce 2 levels of generic port access class Dave Jiang
2024-02-27 17:23   ` Jonathan Cameron
2024-02-20 23:12 ` [PATCH v6 04/12] ACPI: HMAT / cxl: Add retrieval of generic port coordinates for both access classes Dave Jiang
2024-02-20 23:12 ` [PATCH v6 05/12] cxl: Split out combine_coordinates() for common shared usage Dave Jiang
2024-02-27 17:25   ` Jonathan Cameron
2024-02-20 23:12 ` [PATCH v6 06/12] cxl: Split out host bridge access coordinates Dave Jiang
2024-02-20 23:12 ` [PATCH v6 07/12] cxl: Move QoS class to be calculated from the nearest CPU Dave Jiang
2024-02-20 23:12 ` [PATCH v6 08/12] cxl: Set cxlmd->endpoint before adding port device Dave Jiang
2024-02-20 23:12 ` [PATCH v6 09/12] cxl/region: Calculate performance data for a region Dave Jiang
2024-02-20 23:12 ` [PATCH v6 10/12] cxl/region: Add sysfs attribute for locality attributes of CXL regions Dave Jiang
2024-03-06 14:48   ` Jonathan Cameron
2024-02-20 23:12 ` [PATCH v6 11/12] cxl/region: Add memory hotplug notifier for cxl region Dave Jiang
2024-03-06 14:53   ` Jonathan Cameron
2024-03-07 23:51     ` Dave Jiang
2024-03-08  0:01       ` Dan Williams
2024-02-20 23:12 ` [PATCH v6 12/12] cxl/region: Deal with numa nodes not enumarated by SRAT Dave Jiang
2024-03-06 14:55 ` Jonathan Cameron [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=20240306145501.0000730f@Huawei.com \
    --to=jonathan.cameron@huawei.com \
    --cc=alison.schofield@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dave@stgolabs.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=ira.weiny@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-cxl@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=vishal.l.verma@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