summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/intel_rdt.h
diff options
context:
space:
mode:
authorJiri Olsa2017-04-10 16:52:32 +0200
committerThomas Gleixner2017-04-10 19:10:25 +0200
commit4ffa3c977b5da2907eb294dc6d0259a02f2284aa (patch)
tree7267158eb409425c430d92efcfd529757ed436cb /arch/x86/include/asm/intel_rdt.h
parentx86/intel_rdt: Cleanup kernel-doc (diff)
downloadkernel-qcow2-linux-4ffa3c977b5da2907eb294dc6d0259a02f2284aa.tar.gz
kernel-qcow2-linux-4ffa3c977b5da2907eb294dc6d0259a02f2284aa.tar.xz
kernel-qcow2-linux-4ffa3c977b5da2907eb294dc6d0259a02f2284aa.zip
x86/intel_rdt: Add cpus_list rdtgroup file
The resource control filesystem provides only a bitmask based cpus file for assigning CPUs to a resource group. That's cumbersome with large cpumasks and non-intuitive when modifying the file from the command line. Range based cpu lists are commonly used along with bitmask based cpu files in various subsystems throughout the kernel. Add 'cpus_list' file which is CPU range based. # cd /sys/fs/resctrl/ # echo 1-10 > krava/cpus_list # cat krava/cpus_list 1-10 # cat krava/cpus 0007fe # cat cpus fffff9 # cat cpus_list 0,3-23 [ tglx: Massaged changelog and replaced "bitmask lists" by "CPU ranges" ] Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Shaohua Li <shli@fb.com> Link: http://lkml.kernel.org/r/20170410145232.GF25354@krava Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/include/asm/intel_rdt.h')
-rw-r--r--arch/x86/include/asm/intel_rdt.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/include/asm/intel_rdt.h b/arch/x86/include/asm/intel_rdt.h
index 9030bcccb717..611c82306fdf 100644
--- a/arch/x86/include/asm/intel_rdt.h
+++ b/arch/x86/include/asm/intel_rdt.h
@@ -37,6 +37,9 @@ struct rdtgroup {
/* rdtgroup.flags */
#define RDT_DELETED 1
+/* rftype.flags */
+#define RFTYPE_FLAGS_CPUS_LIST 1
+
/* List of all resource groups */
extern struct list_head rdt_all_groups;
@@ -49,6 +52,7 @@ int __init rdtgroup_init(void);
* @name: File name
* @mode: Access mode
* @kf_ops: File operations
+ * @flags: File specific RFTYPE_FLAGS_* flags
* @seq_show: Show content of the file
* @write: Write to the file
*/
@@ -56,6 +60,7 @@ struct rftype {
char *name;
umode_t mode;
struct kernfs_ops *kf_ops;
+ unsigned long flags;
int (*seq_show)(struct kernfs_open_file *of,
struct seq_file *sf, void *v);