Re: Feedback on preemptible kernel patch

Robert Love
2001-09-14T15:03:31Z

On Fri, 2001-09-14 at 02:40, Arjan Filius wrote:
> Hello Robert,

Hi Arjan,

> I do Athlon/K7 opmimization indeed, and didn't test without.
> Haven't stress-tested it very well yet, but as soon i notice something i
> let you know.

Have you had any oops that were unexplained, after we fixed the other
problems? I have attached the patch below, you can give it a whirl, but
it is odd you have had no problems.

> Great!

:)

--
Robert M. Love
rml at ufl.edu
rml at tech9.net

diff -urN linux-2.4.10-pre8/arch/i386/kernel/i387.c linux/arch/i386/kernel/i387.c
--- linux-2.4.10-pre8/arch/i386/kernel/i387.c Thu Sep 13 19:24:48 2001
+++ linux/arch/i386/kernel/i387.c Thu Sep 13 20:00:57 2001
@@ -10,6 +10,7 @@

#include <linux/config.h>
#include <linux/sched.h>
+#include <linux/spinlock.h>
#include <asm/processor.h>
#include <asm/i387.h>
#include <asm/math_emu.h>
@@ -65,6 +66,8 @@
{
struct task_struct *tsk = current;

+ ctx_sw_off();
+
if (tsk->flags & PF_USEDFPU) {
__save_init_fpu(tsk);
return;
diff -urN linux-2.4.10-pre8/include/asm-i386/i387.h linux/include/asm-i386/i387.h
--- linux-2.4.10-pre8/include/asm-i386/i387.h Thu Sep 13 19:27:28 2001
+++ linux/include/asm-i386/i387.h Thu Sep 13 20:01:30 2001
@@ -12,6 +12,7 @@
#define __ASM_I386_I387_H

#include <linux/sched.h>
+#include <linux/spinlock.h>
#include <asm/processor.h>
#include <asm/sigcontext.h>
#include <asm/user.h>
@@ -24,7 +25,7 @@
extern void restore_fpu( struct task_struct *tsk );

extern void kernel_fpu_begin(void);
-#define kernel_fpu_end() stts()
+#define kernel_fpu_end() stts(); ctx_sw_on()

#define unlazy_fpu( tsk ) do { \