Commit c2198b52 authored by Richard Henderson's avatar Richard Henderson Committed by Richard Henderson

Update for the -K3 scheduler.

parent 95a23f58
...@@ -497,6 +497,7 @@ alpha_switch_to: ...@@ -497,6 +497,7 @@ alpha_switch_to:
ret $31,($26),1 ret $31,($26),1
.end alpha_switch_to .end alpha_switch_to
#ifdef CONFIG_SMP
.globl ret_from_fork .globl ret_from_fork
.align 3 .align 3
.ent ret_from_fork .ent ret_from_fork
...@@ -505,6 +506,7 @@ ret_from_fork: ...@@ -505,6 +506,7 @@ ret_from_fork:
mov $0,$16 mov $0,$16
jmp $31,schedule_tail jmp $31,schedule_tail
.end ret_from_fork .end ret_from_fork
#endif
/* /*
* Oh, well.. Disassembling OSF/1 binaries to find out how the * Oh, well.. Disassembling OSF/1 binaries to find out how the
......
...@@ -283,6 +283,7 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long usp, ...@@ -283,6 +283,7 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long usp,
unsigned long unused, unsigned long unused,
struct task_struct * p, struct pt_regs * regs) struct task_struct * p, struct pt_regs * regs)
{ {
extern void ret_from_sys_call(void);
extern void ret_from_fork(void); extern void ret_from_fork(void);
struct thread_info *childti = p->thread_info; struct thread_info *childti = p->thread_info;
...@@ -304,7 +305,11 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long usp, ...@@ -304,7 +305,11 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long usp,
stack = ((struct switch_stack *) regs) - 1; stack = ((struct switch_stack *) regs) - 1;
childstack = ((struct switch_stack *) childregs) - 1; childstack = ((struct switch_stack *) childregs) - 1;
*childstack = *stack; *childstack = *stack;
#ifdef CONFIG_SMP
childstack->r26 = (unsigned long) ret_from_fork; childstack->r26 = (unsigned long) ret_from_fork;
#else
childstack->r26 = (unsigned long) ret_from_sys_call;
#endif
childti->pcb.usp = usp; childti->pcb.usp = usp;
childti->pcb.ksp = (unsigned long) childstack; childti->pcb.ksp = (unsigned long) childstack;
childti->pcb.flags = 1; /* set FEN, clear everything else */ childti->pcb.flags = 1; /* set FEN, clear everything else */
......
...@@ -24,13 +24,10 @@ ...@@ -24,13 +24,10 @@
/* ??? This does not belong here. */ /* ??? This does not belong here. */
/* /*
* Every architecture must define this function. It's the fastest * Every architecture must define this function. It's the fastest
* way of searching a 168-bit bitmap where the first 128 bits are * way of searching a 140-bit bitmap where the first 100 bits are
* unlikely to be set. It's guaranteed that at least one of the 168 * unlikely to be set. It's guaranteed that at least one of the 140
* bits is set. * bits is cleared.
*/ */
#if MAX_RT_PRIO != 128 || MAX_PRIO > 192
# error update this function.
#endif
static inline int static inline int
sched_find_first_bit(unsigned long *b) sched_find_first_bit(unsigned long *b)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment