Re: [PATCH v2 3/3] i387: support lazy restore of FPU state

From: Linus Torvalds
Date: Mon Feb 20 2012 - 21:10:48 EST


On Mon, Feb 20, 2012 at 5:50 PM, Josh Boyer <jwboyer@xxxxxxxxx> wrote:
>
> I haven't tried really figuring this out yet, but building the Fedora kernel
> on x86_64 with your latest tree results in:
>
> ERROR: "fpu_owner_task" [lib/raid6/raid6_pq.ko] undefined!

Ugh. My dislike of modules on my machines strikes again, and
apparently nobody else tested the patches I sent out.

The attached trivial patch fixes it, I bet.

Although I do wonder if we should just make kernel_fpu_begin() be a
real function instead of inlining it. I'm not sure it makes sense to
inline that thing, and it might be better to export that one instead.
Comments?

Linus
arch/x86/kernel/cpu/common.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index b667148dfad7..26255c6611a4 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -1045,6 +1045,7 @@ DEFINE_PER_CPU(char *, irq_stack_ptr) =
DEFINE_PER_CPU(unsigned int, irq_count) = -1;

DEFINE_PER_CPU(struct task_struct *, fpu_owner_task);
+EXPORT_PER_CPU_SYMBOL(fpu_owner_task);

/*
* Special IST stacks which the CPU switches to when it calls