All of lore.kernel.org
 help / color / mirror / Atom feed
* [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 related	[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 related	[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 related	[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 related	[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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.