[tip:x86/cache] x86/intel_rdt: Show missing resctrl mount options

From: tip-bot for Xiaochen Shen
Date: Wed Oct 03 2018 - 10:23:08 EST


Commit-ID: 32ece95d3052e0778eab98fd9c2ffde92c599ce9
Gitweb: https://git.kernel.org/tip/32ece95d3052e0778eab98fd9c2ffde92c599ce9
Author: Xiaochen Shen <xiaochen.shen@xxxxxxxxx>
AuthorDate: Wed, 12 Sep 2018 16:48:38 -0700
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitDate: Wed, 3 Oct 2018 16:19:36 +0200

x86/intel_rdt: Show missing resctrl mount options

In resctrl filesystem, mount options exist to enable L3/L2 CDP and MBA
Software Controller features if the platform supports them:

mount -t resctrl resctrl [-o cdp[,cdpl2][,mba_MBps]] /sys/fs/resctrl

But currently only "cdp" option is displayed in /proc/mounts. "cdpl2" and
"mba_MBps" options are not shown even when they are active.

Before:
# mount -t resctrl resctrl -o cdp,mba_MBps /sys/fs/resctrl
# grep resctrl /proc/mounts
/sys/fs/resctrl /sys/fs/resctrl resctrl rw,relatime,cdp 0 0

After:
# mount -t resctrl resctrl -o cdp,mba_MBps /sys/fs/resctrl
# grep resctrl /proc/mounts
/sys/fs/resctrl /sys/fs/resctrl resctrl rw,relatime,cdp,mba_MBps 0 0

Signed-off-by: Xiaochen Shen <xiaochen.shen@xxxxxxxxx>
Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: "H Peter Anvin" <hpa@xxxxxxxxx>
Cc: "Tony Luck" <tony.luck@xxxxxxxxx>
Link: https://lkml.kernel.org/r/1536796118-60135-1-git-send-email-fenghua.yu@xxxxxxxxx

---
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
index 1b8e86a5d5e1..82a487840eb2 100644
--- a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
+++ b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
@@ -2795,6 +2795,13 @@ static int rdtgroup_show_options(struct seq_file *seq, struct kernfs_root *kf)
{
if (rdt_resources_all[RDT_RESOURCE_L3DATA].alloc_enabled)
seq_puts(seq, ",cdp");
+
+ if (rdt_resources_all[RDT_RESOURCE_L2DATA].alloc_enabled)
+ seq_puts(seq, ",cdpl2");
+
+ if (is_mba_sc(&rdt_resources_all[RDT_RESOURCE_MBA]))
+ seq_puts(seq, ",mba_MBps");
+
return 0;
}