* [GIT PULL] x86 fixes for v3.14-rc7
@ 2014-03-14 22:48 H. Peter Anvin
0 siblings, 0 replies; only message in thread
From: H. Peter Anvin @ 2014-03-14 22:48 UTC (permalink / raw)
To: Linus Torvalds
Cc: stable, Borislav Petkov, Daniel J Blueman, George Spelvin,
H. Peter Anvin, H. Peter Anvin, Ingo Molnar, Ingo Molnar,
Linus Torvalds, Linux Kernel Mailing List, Maarten Baert,
Nate Eldredge, Steffen Persvold, Suresh Siddha, Thomas Gleixner
Hi Linus,
Two x86 fixes: Suresh's eager FPU fix, and a fix to the NUMA quirk for
AMD northbridges.
This only includes Suresh's fix patch, not the "mostly a cleanup"
patch which had __init issues.
The following changes since commit fa389e220254c69ffae0d403eac4146171062d08:
Linux 3.14-rc6 (2014-03-09 19:41:57 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-urgent-for-linus
for you to fetch changes up to 847d7970defb45540735b3fb4e88471c27cacd85:
x86/amd/numa: Fix northbridge quirk to assign correct NUMA node (2014-03-14 11:05:36 +0100)
----------------------------------------------------------------
Daniel J Blueman (1):
x86/amd/numa: Fix northbridge quirk to assign correct NUMA node
Suresh Siddha (1):
x86, fpu: Check tsk_used_math() in kernel_fpu_end() for eager FPU
arch/x86/kernel/i387.c | 15 ++++++++++++---
arch/x86/kernel/quirks.c | 2 +-
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c
index e8368c6dd2a2..d5dd80814419 100644
--- a/arch/x86/kernel/i387.c
+++ b/arch/x86/kernel/i387.c
@@ -86,10 +86,19 @@ EXPORT_SYMBOL(__kernel_fpu_begin);
void __kernel_fpu_end(void)
{
- if (use_eager_fpu())
- math_state_restore();
- else
+ if (use_eager_fpu()) {
+ /*
+ * For eager fpu, most the time, tsk_used_math() is true.
+ * Restore the user math as we are done with the kernel usage.
+ * At few instances during thread exit, signal handling etc,
+ * tsk_used_math() is false. Those few places will take proper
+ * actions, so we don't need to restore the math here.
+ */
+ if (likely(tsk_used_math(current)))
+ math_state_restore();
+ } else {
stts();
+ }
}
EXPORT_SYMBOL(__kernel_fpu_end);
diff --git a/arch/x86/kernel/quirks.c b/arch/x86/kernel/quirks.c
index 7c6acd4b8995..ff898bbf579d 100644
--- a/arch/x86/kernel/quirks.c
+++ b/arch/x86/kernel/quirks.c
@@ -529,7 +529,7 @@ static void quirk_amd_nb_node(struct pci_dev *dev)
return;
pci_read_config_dword(nb_ht, 0x60, &val);
- node = val & 7;
+ node = pcibus_to_node(dev->bus) | (val & 7);
/*
* Some hardware may return an invalid node ID,
* so check it first:
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-03-14 22:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-14 22:48 [GIT PULL] x86 fixes for v3.14-rc7 H. Peter Anvin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®