From: "tip-bot for Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@kernel.org,
srivatsa.bhat@linux.vnet.ibm.com, tglx@linutronix.de,
borislav.petkov@amd.com, dan.carpenter@oracle.com
Subject: [tip:x86/urgent] x86, intel_cacheinfo: Fix error return code in amd_set_l3_disable_slot()
Date: Wed, 25 Apr 2012 06:50:50 -0700 [thread overview]
Message-ID: <tip-a720b2dd2470a52345df11dca8d6c1466599f812@git.kernel.org> (raw)
In-Reply-To: <20120419070053.GB16645@elgon.mountain>
Commit-ID: a720b2dd2470a52345df11dca8d6c1466599f812
Gitweb: http://git.kernel.org/tip/a720b2dd2470a52345df11dca8d6c1466599f812
Author: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
AuthorDate: Thu, 19 Apr 2012 12:35:08 +0200
Committer: Borislav Petkov <borislav.petkov@amd.com>
CommitDate: Thu, 19 Apr 2012 18:30:28 +0200
x86, intel_cacheinfo: Fix error return code in amd_set_l3_disable_slot()
If the L3 disable slot is already in use, return -EEXIST instead of
-EINVAL. The caller, store_cache_disable(), checks this return value to
print an appropriate warning.
Also, we want to signal with -EEXIST that the current index we're
disabling has actually been already disabled on the node:
$ echo 12 > /sys/devices/system/cpu/cpu3/cache/index3/cache_disable_0
$ echo 12 > /sys/devices/system/cpu/cpu3/cache/index3/cache_disable_0
-bash: echo: write error: File exists
$ echo 12 > /sys/devices/system/cpu/cpu3/cache/index3/cache_disable_1
-bash: echo: write error: File exists
$ echo 12 > /sys/devices/system/cpu/cpu5/cache/index3/cache_disable_1
-bash: echo: write error: File exists
The old code would say
-bash: echo: write error: Invalid argument
for disable slot 1 when playing the example above with no output in
dmesg, which is clearly misleading.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20120419070053.GB16645@elgon.mountain
[Boris: add testing for the other index too]
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
---
arch/x86/kernel/cpu/intel_cacheinfo.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c
index 73d08ed..b8f3653 100644
--- a/arch/x86/kernel/cpu/intel_cacheinfo.c
+++ b/arch/x86/kernel/cpu/intel_cacheinfo.c
@@ -433,14 +433,14 @@ int amd_set_l3_disable_slot(struct amd_northbridge *nb, int cpu, unsigned slot,
/* check if @slot is already used or the index is already disabled */
ret = amd_get_l3_disable_slot(nb, slot);
if (ret >= 0)
- return -EINVAL;
+ return -EEXIST;
if (index > nb->l3_cache.indices)
return -EINVAL;
/* check whether the other slot has disabled the same index already */
if (index == amd_get_l3_disable_slot(nb, !slot))
- return -EINVAL;
+ return -EEXIST;
amd_l3_disable_index(nb, cpu, slot, index);
@@ -468,8 +468,8 @@ static ssize_t store_cache_disable(struct _cpuid4_info *this_leaf,
err = amd_set_l3_disable_slot(this_leaf->base.nb, cpu, slot, val);
if (err) {
if (err == -EEXIST)
- printk(KERN_WARNING "L3 disable slot %d in use!\n",
- slot);
+ pr_warning("L3 slot %d in use/index already disabled!\n",
+ slot);
return err;
}
return count;
prev parent reply other threads:[~2012-04-25 13:51 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-19 7:00 [patch] cpu: remove some dead code in store_cache_disable() Dan Carpenter
2012-04-19 7:00 ` Dan Carpenter
2012-04-19 8:18 ` Srivatsa S. Bhat
2012-04-19 8:30 ` Srivatsa S. Bhat
2012-04-19 11:02 ` Borislav Petkov
2012-04-19 11:02 ` Borislav Petkov
2012-04-19 11:14 ` Srivatsa S. Bhat
2012-04-19 11:26 ` Srivatsa S. Bhat
2012-04-19 11:44 ` Dan Carpenter
2012-04-19 11:44 ` Dan Carpenter
2012-04-19 16:53 ` [GIT PULL] L3 CID fix for 3.5 Borislav Petkov
2012-04-19 16:53 ` Borislav Petkov
2012-04-25 9:30 ` Borislav Petkov
2012-04-25 9:30 ` Borislav Petkov
2012-04-25 10:23 ` Ingo Molnar
2012-04-25 10:23 ` Ingo Molnar
2012-04-25 10:35 ` Borislav Petkov
2012-04-25 10:35 ` Borislav Petkov
2012-04-25 13:50 ` tip-bot for Srivatsa S. Bhat [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-a720b2dd2470a52345df11dca8d6c1466599f812@git.kernel.org \
--to=srivatsa.bhat@linux.vnet.ibm.com \
--cc=borislav.petkov@amd.com \
--cc=dan.carpenter@oracle.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.