]> git.hungrycats.org Git - linux/commitdiff
Make the assembly-level code match the preempt_sched
authorLinus Torvalds <torvalds@penguin.transmeta.com>
Thu, 4 Apr 2002 10:37:02 +0000 (02:37 -0800)
committerLinus Torvalds <torvalds@penguin.transmeta.com>
Thu, 4 Apr 2002 10:37:02 +0000 (02:37 -0800)
changes

arch/i386/kernel/entry.S
include/asm-i386/thread_info.h
include/linux/sched.h

index dcc1f75a8bb74f747ccbb117a733781872688239..2ac0e6b4eb379fde17ff0604769f4787aed9ae37 100644 (file)
@@ -238,10 +238,11 @@ ENTRY(resume_kernel)
        movl SYMBOL_NAME(irq_stat)+local_bh_count CPU_IDX, %ecx
        addl SYMBOL_NAME(irq_stat)+local_irq_count CPU_IDX, %ecx
        jnz restore_all
-       incl TI_PRE_COUNT(%ebx)
+       movl $PREEMPT_ACTIVE,TI_PRE_COUNT(%ebx)
        sti
-       call SYMBOL_NAME(preempt_schedule)
-       jmp ret_from_intr
+       call SYMBOL_NAME(schedule)
+       movl $0,TI_PRE_COUNT(%ebx) 
+       jmp restore_all
 #endif
 
        # system call handler stub
index 0359b0948f9749aa136a6e5f9f1e5cf4e6b04e23..b6948b3c8c260424905058d5863e0e91f284c542 100644 (file)
@@ -47,6 +47,8 @@ struct thread_info {
 
 #endif
 
+#define PREEMPT_ACTIVE         0x4000000
+
 /*
  * macros/functions for gaining access to the thread information structure
  */
index 99d74ed7db5c3bf18c9a711b875b38bd27f7ce58..024e34706cc95d92115dc5fe0033797d4c08a219 100644 (file)
@@ -91,7 +91,6 @@ extern unsigned long nr_running(void);
 #define TASK_UNINTERRUPTIBLE   2
 #define TASK_ZOMBIE            4
 #define TASK_STOPPED           8
-#define PREEMPT_ACTIVE         0x4000000
 
 #define __set_task_state(tsk, state_value)             \
        do { (tsk)->state = (state_value); } while (0)