* [PATCH 1/2] intel_rdt: fix a build warnning @ 2016-11-03 21:09 Shaohua Li 2016-11-03 21:09 ` [PATCH 2/2] intel_rdt: export min_cbm_bits Shaohua Li 2016-11-07 11:52 ` [tip:x86/cache] x86/intel_rdt: Propagate error in rdt_mount() properly tip-bot for Shaohua Li 0 siblings, 2 replies; 4+ messages in thread From: Shaohua Li @ 2016-11-03 21:09 UTC (permalink / raw) To: linux-kernel; +Cc: fenghua.yu, tony.luck, tglx gcc complains: "warning: ‘dentry’ may be used uninitialized in this function" Signed-off-by: Shaohua Li <shli@fb.com> --- arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c index a90ad22..e66c7a5 100644 --- a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c +++ b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c @@ -691,8 +691,10 @@ static struct dentry *rdt_mount(struct file_system_type *fs_type, closid_init(); ret = rdtgroup_create_info_dir(rdtgroup_default.kn); - if (ret) + if (ret) { + dentry = ERR_PTR(ret); goto out_cdp; + } dentry = kernfs_mount(fs_type, flags, rdt_root, RDTGROUP_SUPER_MAGIC, NULL); -- 2.9.3 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/2] intel_rdt: export min_cbm_bits 2016-11-03 21:09 [PATCH 1/2] intel_rdt: fix a build warnning Shaohua Li @ 2016-11-03 21:09 ` Shaohua Li 2016-11-07 11:53 ` [tip:x86/cache] x86/intel_rdt: Export the minimum number of set mask bits in sysfs tip-bot for Shaohua Li 2016-11-07 11:52 ` [tip:x86/cache] x86/intel_rdt: Propagate error in rdt_mount() properly tip-bot for Shaohua Li 1 sibling, 1 reply; 4+ messages in thread From: Shaohua Li @ 2016-11-03 21:09 UTC (permalink / raw) To: linux-kernel; +Cc: fenghua.yu, tony.luck, tglx min_cbm_bits could be 1 or 2 for L3 cache. Kenrel does check the bits when writting mask. Unfortunately it's not exported to userspace. This patch fixes the gap. Signed-off-by: Shaohua Li <shli@fb.com> --- arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c index e66c7a5..4795880 100644 --- a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c +++ b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c @@ -472,6 +472,16 @@ static int rdt_cbm_mask_show(struct kernfs_open_file *of, return 0; } +static int rdt_min_cbm_bits_show(struct kernfs_open_file *of, + struct seq_file *seq, void *v) +{ + struct rdt_resource *r = of->kn->parent->priv; + + seq_printf(seq, "%d\n", r->min_cbm_bits); + + return 0; +} + /* rdtgroup information files for one cache resource. */ static struct rftype res_info_files[] = { { @@ -486,6 +496,12 @@ static struct rftype res_info_files[] = { .kf_ops = &rdtgroup_kf_single_ops, .seq_show = rdt_cbm_mask_show, }, + { + .name = "min_cbm_bits", + .mode = 0444, + .kf_ops = &rdtgroup_kf_single_ops, + .seq_show = rdt_min_cbm_bits_show, + }, }; static int rdtgroup_create_info_dir(struct kernfs_node *parent_kn) -- 2.9.3 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [tip:x86/cache] x86/intel_rdt: Export the minimum number of set mask bits in sysfs 2016-11-03 21:09 ` [PATCH 2/2] intel_rdt: export min_cbm_bits Shaohua Li @ 2016-11-07 11:53 ` tip-bot for Shaohua Li 0 siblings, 0 replies; 4+ messages in thread From: tip-bot for Shaohua Li @ 2016-11-07 11:53 UTC (permalink / raw) To: linux-tip-commits; +Cc: mingo, shli, tglx, linux-kernel, hpa Commit-ID: 53a114a69095eeb0e15d04c2a82358b3192f88df Gitweb: http://git.kernel.org/tip/53a114a69095eeb0e15d04c2a82358b3192f88df Author: Shaohua Li <shli@fb.com> AuthorDate: Thu, 3 Nov 2016 14:09:06 -0700 Committer: Thomas Gleixner <tglx@linutronix.de> CommitDate: Mon, 7 Nov 2016 12:20:52 +0100 x86/intel_rdt: Export the minimum number of set mask bits in sysfs The minimum number of bits set for a cache mask is checked by the kernel when writing a mask, but there is no way for the user to retrieve this information. Add a new file 'min_cbm_bits' to the info directory and export the information to user space. [ tglx: Massaged changelog ] Signed-off-by: Shaohua Li <shli@fb.com> Cc: fenghua.yu@intel.com Cc: tony.luck@intel.com Link: http://lkml.kernel.org/r/e69b1ffa206d0353eea58101e1bf9b677d9732f7.1478207143.git.shli@fb.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c index e66c7a5..4795880 100644 --- a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c +++ b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c @@ -472,6 +472,16 @@ static int rdt_cbm_mask_show(struct kernfs_open_file *of, return 0; } +static int rdt_min_cbm_bits_show(struct kernfs_open_file *of, + struct seq_file *seq, void *v) +{ + struct rdt_resource *r = of->kn->parent->priv; + + seq_printf(seq, "%d\n", r->min_cbm_bits); + + return 0; +} + /* rdtgroup information files for one cache resource. */ static struct rftype res_info_files[] = { { @@ -486,6 +496,12 @@ static struct rftype res_info_files[] = { .kf_ops = &rdtgroup_kf_single_ops, .seq_show = rdt_cbm_mask_show, }, + { + .name = "min_cbm_bits", + .mode = 0444, + .kf_ops = &rdtgroup_kf_single_ops, + .seq_show = rdt_min_cbm_bits_show, + }, }; static int rdtgroup_create_info_dir(struct kernfs_node *parent_kn) ^ permalink raw reply [flat|nested] 4+ messages in thread
* [tip:x86/cache] x86/intel_rdt: Propagate error in rdt_mount() properly 2016-11-03 21:09 [PATCH 1/2] intel_rdt: fix a build warnning Shaohua Li 2016-11-03 21:09 ` [PATCH 2/2] intel_rdt: export min_cbm_bits Shaohua Li @ 2016-11-07 11:52 ` tip-bot for Shaohua Li 1 sibling, 0 replies; 4+ messages in thread From: tip-bot for Shaohua Li @ 2016-11-07 11:52 UTC (permalink / raw) To: linux-tip-commits; +Cc: hpa, shli, mingo, tglx, linux-kernel Commit-ID: 7bff0af51012500718971f9cc3485f67252353eb Gitweb: http://git.kernel.org/tip/7bff0af51012500718971f9cc3485f67252353eb Author: Shaohua Li <shli@fb.com> AuthorDate: Thu, 3 Nov 2016 14:09:05 -0700 Committer: Thomas Gleixner <tglx@linutronix.de> CommitDate: Mon, 7 Nov 2016 12:20:52 +0100 x86/intel_rdt: Propagate error in rdt_mount() properly gcc complains: "warning: ‘dentry’ may be used uninitialized in this function" The error exit path in rdt_mount(), which deals with a failure in rdtgroup_create_info_dir(), does not set the error code in dentry and returns the uninitialized dentry value. Add the missing error propagation. [tglx: Massaged changelog ] Fixes: 4e978d06dedb ("x86/intel_rdt: Add "info" files to resctrl file system") Signed-off-by: Shaohua Li <shli@fb.com> Cc: fenghua.yu@intel.com Cc: tony.luck@intel.com Link: http://lkml.kernel.org/r/a56a556f6768dc12cadbf97f49e000189056f90e.1478207143.git.shli@fb.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c index a90ad22..e66c7a5 100644 --- a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c +++ b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c @@ -691,8 +691,10 @@ static struct dentry *rdt_mount(struct file_system_type *fs_type, closid_init(); ret = rdtgroup_create_info_dir(rdtgroup_default.kn); - if (ret) + if (ret) { + dentry = ERR_PTR(ret); goto out_cdp; + } dentry = kernfs_mount(fs_type, flags, rdt_root, RDTGROUP_SUPER_MAGIC, NULL); ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-11-07 11:53 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-11-03 21:09 [PATCH 1/2] intel_rdt: fix a build warnning Shaohua Li 2016-11-03 21:09 ` [PATCH 2/2] intel_rdt: export min_cbm_bits Shaohua Li 2016-11-07 11:53 ` [tip:x86/cache] x86/intel_rdt: Export the minimum number of set mask bits in sysfs tip-bot for Shaohua Li 2016-11-07 11:52 ` [tip:x86/cache] x86/intel_rdt: Propagate error in rdt_mount() properly tip-bot for Shaohua Li
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
Powered by JetHome