Thread (9 messages) 9 messages, 4 authors, 2025-08-11

Re: [PATCH v10 0/3] ACPI: Add support for ACPI RAS2 feature table

From: Daniel Ferguson <hidden>
Date: 2025-08-08 16:39:39
Also in: linux-acpi, linux-edac, linux-mm

Changes
=======
v9 -> v10:
1. Use pcc_chan->shmem instead of 
   acpi_os_ioremap(pcc_chan->shmem_base_addr,...) as it was
   acpi_os_ioremap internally by the PCC driver to pcc_chan->shmem.
   
2. Changes required for the Ampere Computing system where uses a single
   PCC channel for RAS2 memory features across all NUMA domains. Based on the
   requirements from by Daniel on V9
   https://lore.kernel.org/all/547ed8fb-d6b7-4b6b-a38b-bf13223971b1@os.amperecomputing.com/ (local)
   and discussion with Jonathan.
2.1 Add node_to_range lookup facility to numa_memblks. This is to retrieve the lowest
    physical continuous memory range of the memory associated with a NUMA domain.
2.2. Set requested addr range to the memory region's base addr and size
   while send RAS2 cmd GET_PATROL_PARAMETER 
   in functions ras2_update_patrol_scrub_params_cache() &
   ras2_get_patrol_scrub_running().
2.3. Split struct ras2_mem_ctx into struct ras2_mem_ctx_hdr and struct ras2_pxm_domain
   to support cases, uses a single PCC channel for RAS2 scrubbers across all NUMA
   domains and PCC channel per RAS2 scrub instance. Provided ACPI spec define single
   memory scrub per NUMA domain.
2.4. EDAC feature sysfs folder for RAS2 changed from "acpi_ras_memX" to  "acpi_ras_mem_idX"
   because memory scrub instances across all NUMA domains would present under
   "acpi_ras_mem_id0" when a system uses a single PCC channel for RAS2 scrubbers across
   all NUMA domains etc.
2.5. Removed Acked-by: Rafael from patch [2], because of the several above changes from v9.
A) We have tested the changes you have made, and they work. Thank you.

B) In the early days of this patch series, as we began developing our firmware
to keep pace with your development of this driver, we indeed only had one PCC
channel shared across all proximity domains. Since then, we have evolved our
firmware to have a PCC channel per proximity domain. It didn't seem important to
mention this to you since the supporting code was minimal. However, with this
latest update (v10), it has become apparent that you have taken extra efforts to
preserve this accommodation. So, now I'm obliged to say that we no longer need
this accommodation. If it would help make things cleaner, and require less
explanation, we support the removal of this legacy, non-compliant accommodation.

Respectfully,
~Daniel



Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help