Re: [PATCH v6 40/42] fs/resctrl: Add boiler plate for external resctrl code

From: Reinette Chatre
Date: Thu Feb 20 2025 - 00:55:11 EST


Hi James,

On 2/7/25 10:18 AM, James Morse wrote:
> Add Makefile and Kconfig for fs/resctrl. Add ARCH_HAS_CPU_RESCTRL
> for the common parts of the resctrl interface and make X86_CPU_RESCTRL
> select this.
>
> Adding an include of asm/resctrl.h to linux/resctrl.h allows the
> /fs/resctrl files to switch over to using this header instead.
>
> Co-developed-by: Dave Martin <Dave.Martin@xxxxxxx>
> Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx>
> Signed-off-by: James Morse <james.morse@xxxxxxx>
> Tested-by: Carl Worth <carl@xxxxxxxxxxxxxxxxxxxxxx> # arm64
> Tested-by: Shaopeng Tan <tan.shaopeng@xxxxxxxxxxxxxx>
> Reviewed-by: Shaopeng Tan <tan.shaopeng@xxxxxxxxxxxxxx>
> Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx>
> ---

...

> diff --git a/fs/resctrl/Kconfig b/fs/resctrl/Kconfig
> new file mode 100644
> index 000000000000..229ca71a8258
> --- /dev/null
> +++ b/fs/resctrl/Kconfig
> @@ -0,0 +1,37 @@
> +config RESCTRL_FS
> + bool "CPU Resource Control Filesystem (resctrl)"
> + depends on ARCH_HAS_CPU_RESCTRL
> + select KERNFS
> + select PROC_CPU_RESCTRL if PROC_FS
> + help
> + Some architectures provide hardware facilities to group tasks and
> + monitor and control their usage of memory system resources such as
> + caches and memory bandwidth. Examples of such facilities include
> + Intel's Resource Director Technology (Intel(R) RDT) and AMD's
> + Platform Quality of Service (AMD QoS).
> +
> + If your system has the necessary support and you want to be able to
> + assign tasks to groups and manipulate the associated resource
> + monitors and controls from userspace, say Y here to get a mountable
> + 'resctrl' filesystem that lets you do just that.
> +
> + If nothing mounts or prods the 'resctrl' filesystem, resource
> + controls and monitors are left in a quiescent, permissive state.
> +
> + On architectures where this can be disabled independently, it is
> + safe to say N.
> +
> + See <file:Documentation/arch/x86/resctrl.rst> for more information.
> +
> +config RESCTRL_FS_PSEUDO_LOCK
> + bool
> + help
> + Software mechanism to pin data in a cache portion using
> + micro-architecture specific knowledge.
> +
> +config RESCTRL_RMID_DEPENDS_ON_CLOSID
> + bool
> + help
> + Enabled by the architecture when the RMID values depend on the CLOSID.
> + This causes the CLOSID allocator to search for CLOSID with clean
> + RMID.

With RESCTRL_FS_PSEUDO_LOCK and RESCTRL_RMID_DEPENDS_ON_CLOSID appearing at
same level as RESCTRL_FS all three configs "depends on MISC_FILESYSTEMS".
Should RESCTRL_FS_PSEUDO_LOCK and RESCTRL_RMID_DEPENDS_ON_CLOSID
"depends on RESCTRL_FS" instead?

Reinette