Re: [RFC PATCH 0/9] ACPI:RASF: Add support for ACPI RASF, ACPI RAS2 and configure scrubbers

From: Jiaqi Yan
Date: Sun Sep 17 2023 - 17:15:19 EST


On Fri, Sep 15, 2023 at 10:29 AM <shiju.jose@xxxxxxxxxx> wrote:
>
> From: Shiju Jose <shiju.jose@xxxxxxxxxx>
>
> This series add,
> 1. support for ACPI RASF(RAS feature table) PCC interfaces
> to communicate with the HW patrol scrubber in the platform,
> as per ACPI 5.1 & upwards revision. Section 5.2.20.
>
> 2. support for ACPI RAS2(RAS2 feature table), as per
> ACPI 6.5 & upwards revision. Section 5.2.21.
>
> 3. scrub driver supports configuring parameters of the memory
> scrubbers in the system. This driver has been implemented
> based on the hwmon subsystem.
>
> The features have tested with RASF and RAS2 emulation in the QEMU.

I am very curious how the test is done. Does the hw patrol scrubber on
host actually been driven by the driver to scrub memory DIMMs (doesn't
seem so to me, but do correct me)? Or it is like to a VM scrubbing is
simulated and no real op to DIMMs?

>
> Previous references to the memory scub and RASF topics.
> https://lore.kernel.org/all/20221103155029.2451105-1-jiaqiyan@xxxxxxxxxx/
> https://patchwork.kernel.org/project/linux-arm-kernel/patch/CS1PR84MB0038718F49DBC0FF03919E1184390@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
>
> A Somasundaram (2):
> ACPI:RASF: Add extract RASF table to register RASF platform devices
> ACPI:RASF: Add common library for RASF and RAS2 PCC interfaces
>
> Shiju Jose (7):
> memory: scrub: Add scrub driver supports configuring memory scrubbers
> in the system
> memory: scrub: sysfs: Add Documentation entries for set of scrub
> attributes
> Documentation/scrub-configure.rst: Add documentation for scrub driver
> memory: RASF: Add memory RASF driver
> ACPICA: ACPI 6.5: Add support for RAS2 table
> ACPI:RAS2: Add driver for ACPI RAS2 feature table (RAS2)
> memory: RAS2: Add memory RAS2 driver
>
> .../ABI/testing/sysfs-class-scrub-configure | 82 ++++
> Documentation/scrub-configure.rst | 55 +++
> drivers/acpi/Kconfig | 15 +
> drivers/acpi/Makefile | 1 +
> drivers/acpi/ras2_acpi.c | 97 ++++
> drivers/acpi/rasf_acpi.c | 71 +++
> drivers/acpi/rasf_acpi_common.c | 272 +++++++++++
> drivers/memory/Kconfig | 15 +
> drivers/memory/Makefile | 3 +
> drivers/memory/ras2.c | 334 +++++++++++++
> drivers/memory/rasf.c | 335 +++++++++++++
> drivers/memory/rasf_common.c | 251 ++++++++++
> drivers/memory/scrub/Kconfig | 11 +
> drivers/memory/scrub/Makefile | 6 +
> drivers/memory/scrub/memory-scrub.c | 452 ++++++++++++++++++
> include/acpi/actbl2.h | 55 +++
> include/acpi/rasf_acpi.h | 59 +++
> include/memory/memory-scrub.h | 85 ++++
> include/memory/rasf.h | 82 ++++
> 19 files changed, 2281 insertions(+)
> create mode 100644 Documentation/ABI/testing/sysfs-class-scrub-configure
> create mode 100644 Documentation/scrub-configure.rst
> create mode 100755 drivers/acpi/ras2_acpi.c
> create mode 100755 drivers/acpi/rasf_acpi.c
> create mode 100755 drivers/acpi/rasf_acpi_common.c
> create mode 100644 drivers/memory/ras2.c
> create mode 100644 drivers/memory/rasf.c
> create mode 100644 drivers/memory/rasf_common.c
> create mode 100644 drivers/memory/scrub/Kconfig
> create mode 100644 drivers/memory/scrub/Makefile
> create mode 100755 drivers/memory/scrub/memory-scrub.c
> create mode 100755 include/acpi/rasf_acpi.h
> create mode 100755 include/memory/memory-scrub.h
> create mode 100755 include/memory/rasf.h
>
> --
> 2.34.1
>