Re: [RFC PATCH v7 00/12] memory: scrub: introduce subsystem + CXL/ACPI-RAS2 drivers

Daniel Ferguson
2024-03-28T23:39:51Z

> RAS2 HW based memory patrol scrub needs RAS2 PCC interfaces
> and ACPI RAS2 driver for communication b/w kernel and firmware.
> ACPI RAS2 Driver adds platform device, for each memory feature,
> which binds to the RAS2 memory driver.
> Memory RAS2 driver registers with the memory scrub subsystem to
> expose the RAS2 scrub controls to the user.

Hi Shiju,
Thanks for this work. This has been very useful for us, as we've
been using it to test a RAS2 implementation here at Ampere
Computing.

In general, the pieces implementing RAS2 are useful and functional. We did,
however, encounter a few places where we had to make some bug fixes.
I'll reply to specific patches with changes I can recommend. Also, there are
a few implementation choices that I will have questions about.

Here is an outline containing the generalized comments I plan on making
within/near relevant patches:
1) Found a bug in ras2.c in how the pcc_desc_list pointer is incremented.
2) Executing a RAS2 command seems unnecessary for feature detection.
specifically, in the functions ras2_is_patrol_scrub_support() and
ras2_get_patrol_scrub_params()
3) Consider adding more error detection/reporting in ras2_check_pcc_chan()
4) Concerns with multiple scrub devices attempting to map the same PCC
channel.

-Daniel