All of lore.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>,
	<rafael@kernel.org>, <bp@alien8.de>, <dan.j.williams@intel.com>,
	<tony.luck@intel.com>, <dave@stgolabs.net>,
	<alison.schofield@intel.com>, <ira.weiny@intel.com>
Subject: Re: [RFC PATCH v2 3/5] acpi/hmat: Add helper functions to provide extended linear cache translation
Date: Wed, 27 Nov 2024 10:23:30 +0000	[thread overview]
Message-ID: <20241127102330.00004a1c@huawei.com> (raw)
In-Reply-To: <20241112221335.432583-4-dave.jiang@intel.com>

On Tue, 12 Nov 2024 15:12:35 -0700
Dave Jiang <dave.jiang@intel.com> wrote:

> Add helper functions to help do address translation for either the address
> of the extended linear cache or its alias address. The translation function
> attempt to detect an I/O hole in the proximity domain and adjusts the
> address if the hole impacts the aliasing of the address. The range of the
> I/O hole is retrieved by walking through the associated memory target
> resources.
> 
> Signed-off-by: Dave Jiang <dave.jiang@intel.com>
> ---
Trivial comment inline.  I'm far from expert on requirements here but it
seems to match your description.

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

> v2:
> - Drop extra variable and use 'res' from the loop. (Jonathan)
> - Break up multiple if statements into single blocks and add comments. (Jonathan)
> ---
>  drivers/acpi/numa/hmat.c | 148 +++++++++++++++++++++++++++++++++++++++
>  include/linux/acpi.h     |  14 ++++
>  2 files changed, 162 insertions(+)
> 
> diff --git a/drivers/acpi/numa/hmat.c b/drivers/acpi/numa/hmat.c
> index 92b818b72ecc..6c686d3c7266 100644
> --- a/drivers/acpi/numa/hmat.c
> +++ b/drivers/acpi/numa/hmat.c
> @@ -152,6 +152,154 @@ int hmat_get_extended_linear_cache_size(struct resource *backing_res, int nid,
>  }
>  EXPORT_SYMBOL_NS_GPL(hmat_get_extended_linear_cache_size, CXL);
>  
> +static int alias_address_find_iohole(struct memory_target *target,
> +				     u64 address, u64 alias, struct range *hole)
> +{
> +	struct resource *res, *prev;
> +
> +	*hole = (struct range) {
> +		.start = 0,
> +		.end = -1,
> +	};
> +
> +	/* First find the resource that the address is in */
> +	prev = target->memregions.child;
> +	for (res = target->memregions.child; res; res = res->sibling) {
> +		if (alias >= res->start && alias <= res->end)
> +			break;
> +		prev = res;
> +	}
> +	if (!res)
> +		return -EINVAL;
> +
> +	/* No memory hole */
> +	if (res == prev)
> +		return 0;
> +
> +	/* If address is within the current resource, no need to deal with memory hole */

Rather long line that could be easily broken.

> +	if (address >= res->start)
> +		return 0;
> +
> +	*hole = (struct range) {
> +		.start = prev->end + 1,
> +		.end = res->start - 1,
> +	};
> +
> +	return 0;
> +}

  reply	other threads:[~2024-11-27 10:23 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-12 22:12 [RFC PATCH v2 0/6] acpi/hmat / cxl: Add exclusive caching enumeration and RAS support Dave Jiang
2024-11-12 22:12 ` [RFC PATCH v2 1/5] acpi: numa: Add support to enumerate and store extended linear address mode Dave Jiang
2024-11-26 16:16   ` Jonathan Cameron
2024-12-03 23:05     ` Dave Jiang
2024-11-12 22:12 ` [RFC PATCH v2 2/5] acpi/hmat / cxl: Add extended linear cache support for CXL Dave Jiang
2024-11-26 16:23   ` Jonathan Cameron
2024-12-03 23:08     ` Dave Jiang
2024-11-12 22:12 ` [RFC PATCH v2 3/5] acpi/hmat: Add helper functions to provide extended linear cache translation Dave Jiang
2024-11-27 10:23   ` Jonathan Cameron [this message]
2024-11-12 22:12 ` [RFC PATCH v2 4/5] cxl: Add extended linear cache address alias emission for cxl events Dave Jiang
2024-11-27 16:40   ` Jonathan Cameron
2024-11-12 22:12 ` [RFC PATCH v2 5/5] cxl: Add mce notifier to emit aliased address for extended linear cache Dave Jiang
2024-11-13  8:11   ` Borislav Petkov
2024-11-13 15:27     ` Dave Jiang
2024-11-14  9:32       ` Borislav Petkov
2024-11-14 15:52         ` 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=20241127102330.00004a1c@huawei.com \
    --to=jonathan.cameron@huawei.com \
    --cc=alison.schofield@intel.com \
    --cc=bp@alien8.de \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dave@stgolabs.net \
    --cc=ira.weiny@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-cxl@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=tony.luck@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.