Re: [PATCH v2 06/33] Documentation, x86: Documentation for Intel resource allocation user interface
From: Shaohua Li
Date: Thu Sep 08 2016 - 18:03:31 EST
On Thu, Sep 08, 2016 at 02:57:00AM -0700, Fenghua Yu wrote:
> From: Fenghua Yu <fenghua.yu@xxxxxxxxx>
>
> The documentation describes user interface of how to allocate resource
> in Intel RDT.
>
> Please note that the documentation covers generic user interface. Current
> patch set code only implemente CAT L3. CAT L2 code will be sent later.
>
> Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
> Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx>
> ---
> Documentation/x86/intel_rdt_ui.txt | 164 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 164 insertions(+)
> create mode 100644 Documentation/x86/intel_rdt_ui.txt
>
> diff --git a/Documentation/x86/intel_rdt_ui.txt b/Documentation/x86/intel_rdt_ui.txt
> new file mode 100644
> index 0000000..27de386
> --- /dev/null
> +++ b/Documentation/x86/intel_rdt_ui.txt
> @@ -0,0 +1,164 @@
> +User Interface for Resource Allocation in Intel Resource Director Technology
> +
> +Copyright (C) 2016 Intel Corporation
> +
> +Fenghua Yu <fenghua.yu@xxxxxxxxx>
> +Tony Luck <tony.luck@xxxxxxxxx>
> +
> +This feature is enabled by the CONFIG_INTEL_RDT Kconfig and the
> +X86 /proc/cpuinfo flag bits "rdt", "cat_l3" and "cdp_l3".
> +
> +To use the feature mount the file system:
> +
> + # mount -t resctrl resctrl [-o cdp,verbose] /sys/fs/resctrl
> +
> +mount options are:
> +
> +"cdp": Enable code/data prioritization in L3 cache allocations.
> +
> +"verbose": Output more info in the "info" file under info directory
> + and in dmesg. This is mainly for debug.
> +
> +
> +Resource groups
> +---------------
> +Resource groups are represented as directories in the resctrl file
> +system. The default group is the root directory. Other groups may be
> +created as desired by the system administrator using the "mkdir(1)"
> +command, and removed using "rmdir(1)".
> +
> +There are three files associated with each group:
> +
> +"tasks": A list of tasks that belongs to this group. Tasks can be
> + added to a group by writing the task ID to the "tasks" file
> + (which will automatically remove them from the previous
> + group to which they belonged). New tasks created by fork(2)
> + and clone(2) are added to the same group as their parent.
> + If a pid is not in any sub partition, it is in root partition
> + (i.e. default partition).
Hi Fenghua,
Will you add a 'procs' interface to allow move a process into a group? Using
the 'tasks' interface to move process is inconvenient and has race conditions
(eg, some new threads could be escaped).
Thanks,
Shaohua