Re: [PATCH v18 04/19] EDAC: Add memory repair control feature
From: Borislav Petkov
Date: Thu Jan 09 2025 - 04:20:25 EST
On Mon, Jan 06, 2025 at 12:10:00PM +0000, shiju.jose@xxxxxxxxxx wrote:
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_hpa
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_dpa
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_nibble_mask
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_bank_group
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_bank
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_rank
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_row
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_column
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_channel
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_sub_channel
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_hpa
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_dpa
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_nibble_mask
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_bank_group
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_bank
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_rank
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_row
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_column
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_channel
> +What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_sub_channel
So this is new. I don't remember seeing that when I looked at your patches
the last time.
Looks like you have all those attributes and now you've decided to add a min
and max for each one, in addition. And UI-wise it is a madness as there are
gazillion single-value files now.
"Attributes should be ASCII text files, preferably with only one value per
file. It is noted that it may not be efficient to contain only one value per
file, so it is socially acceptable to express an array of values of the same
type."
So you don't need those - you can simply express each attribute as a range:
echo "1:2" > /sys/bus/edac/devices/<dev-name>/mem_repairX/bank
or if you wanna scrub only one bank:
echo "1:1" > /sys/bus/edac/devices/<dev-name>/mem_repairX/bank
What is the use case of that thing?
Someone might find it useful so let's add it preemptively?
Pfff.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette