Re: [RFC PATCH 3/9] Documentation/scrub-configure.rst: Add documentation for scrub driver

David Hildenbrand
2023-09-18T07:25:46Z

On 15.09.23 19:28, shiju.jose@huawei.com wrote:
> From: Shiju Jose <shiju.jose@huawei.com>
>
> Add documentation for scrub driver, supports configure scrub parameters,
> in Documentation/scrub-configure.rst
>
> Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
> ---
> Documentation/scrub-configure.rst | 55 +++++++++++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
> create mode 100644 Documentation/scrub-configure.rst
>
> diff --git a/Documentation/scrub-configure.rst b/Documentation/scrub-configure.rst
> new file mode 100644
> index 000000000000..9f8581b88788
> --- /dev/null
> +++ b/Documentation/scrub-configure.rst
> @@ -0,0 +1,55 @@
> +==========================
> +Scrub subsystem driver
> +==========================
> +
> +Copyright (c) 2023 HiSilicon Limited.
> +
> +:Author: Shiju Jose <shiju.jose@huawei.com>
> +:License: The GNU Free Documentation License, Version 1.2
> + (dual licensed under the GPL v2)
> +:Original Reviewers:
> +
> +- Written for: 6.7
> +- Updated for:
> +
> +Introduction
> +------------
> +The scrub subsystem driver provides the interface for configure the

"... interface for configuring memory scrubbers in the system."

are we only configuring firmware/hw-based memory scrubbing? I assume so.

> +parameters of memory scrubbers in the system. The scrub device drivers
> +in the system register with the scrub configure subsystem.

Maybe say a few words what memory scrubbing is, and what it is used for.

> +
> +The scrub configure driver exposes the scrub controls to the user
> +via sysfs.
> +
> +The File System
> +---------------
> +
> +The configuration parameters of the registered scrubbers could be
> +accessed via the /sys/class/scrub/scrubX/regionN/
> +
> +sysfs
> +-----
> +
> +Sysfs files are documented in
> +`Documentation/ABI/testing/sysfs-class-scrub-configure`.
> +
> +Example
> +-------
> +
> + The usage takes the form shown in this example::
> +
> + # echo 0x300000 > /sys/class/scrub/scrub0/region0/addr_base
> + # echo 0x100000 > /sys/class/scrub/scrub0/region0/addr_size
> + # cat /sys/class/scrub/scrub0/region0/speed_available
> + # 1-60
> + # echo 25 > /sys/class/scrub/scrub0/region0/speed
> + # echo 1 > /sys/class/scrub/scrub0/region0/enable
> +
> + # cat /sys/class/scrub/scrub0/region0/speed
> + # 0x19

Is it reasonable to return the speed as hex? You set it as dec.

> + # cat /sys/class/scrub/scrub0/region0/addr_base
> + # 0x100000

But didn't we set it to 0x300000 ...

> + # cat /sys/class/scrub/scrub0/region0/addr_size
> + # 0x200000

... and didn't we set it to 0x100000 ?

Or what's the magic happening here?

> +
> + # echo 0 > /sys/class/scrub/scrub0/region0/enable

--
Cheers,

David / dhildenb