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/filesystems/resctrl.rst> for more information.

config RESCTRL_FS_PSEUDO_LOCK
	bool
	depends on RESCTRL_FS
	help
	  Software mechanism to pin data in a cache portion using
	  micro-architecture specific knowledge.

config RESCTRL_RMID_DEPENDS_ON_CLOSID
	bool
	depends on RESCTRL_FS
	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.
