Linux 2.4.19-pre7-jam4
Hi,
I had two compile problems:
1) sched.c complains about missing local_bh_count, TQUEUE_BH, ...
2) init/do_mounts.c complains about SCHED_YIELD (if initrd is enabled)
The following patch fixes both problems for me.
--nk
init/do_mounts.c +1 -2
@@ -775,8 +775,7 @@ pid =kernel_thread (do_linuxrc,"/linuxrc" ,SIGCHLD );if (pid >0 ) {while (pid !=wait (&i)) { - current->policy |=SCHED_YIELD ; -schedule (); +yield (); } }
kernel/sched.c +1 -0
@@ -19,6 +19,7 @@#include <linux/smp_lock.h> #include <asm/mmu_context.h> #include <linux/kernel_stat.h> +#include <linux/interrupt.h> /* * Priority of a process goes from 0 to MAX_PRIO-1. The
Signature · 1 line
Key fingerprint = 6C58 F18D 4747 3295 F2DB 15C1 3882 4302 F8B4 C11C
init/do_mounts.c +1 -2
@@ -775,8 +775,7 @@ pid =kernel_thread (do_linuxrc,"/linuxrc" ,SIGCHLD );if (pid >0 ) {while (pid !=wait (&i)) { - current->policy |=SCHED_YIELD ; -schedule (); +yield (); } }
kernel/sched.c +1 -0
@@ -19,6 +19,7 @@#include <linux/smp_lock.h> #include <asm/mmu_context.h> #include <linux/kernel_stat.h> +#include <linux/interrupt.h> /* * Priority of a process goes from 0 to MAX_PRIO-1. The
Quoted 8 lines · On 2002.04.22 Norbert Kiesel wrote:
Hi,
I had two compile problems:
1)sched.ccomplains about missinglocal_bh_count,TQUEUE_BH, ...
2)init/do_mounts.ccomplains aboutSCHED_YIELD(if initrd is enabled)The following patch fixes both problems for me.
[...]
Yup, there are files not covered by 20-sched-O1-rml-1. Fast search:
werewolf:/usr/src/linux# grep -r SCHED_YIELD * arch/alpha/mm/fault.c: current->policy |= SCHED_YIELD; arch/mips/mm/fault.c: tsk->policy |= SCHED_YIELD; arch/ppc/mm/fault.c: current->policy |= SCHED_YIELD; arch/m68k/mm/fault.c: current->policy |= SCHED_YIELD; arch/arm/mm/fault-common.c: tsk->policy |= SCHED_YIELD; arch/sh/mm/fault.c: current->policy |= SCHED_YIELD; arch/ia64/mm/fault.c: current->policy |= SCHED_YIELD; arch/mips64/mm/fault.c: tsk->policy |= SCHED_YIELD; arch/s390/mm/fault.c: tsk->policy |= SCHED_YIELD; arch/s390x/mm/fault.c: tsk->policy |= SCHED_YIELD; init/do_mounts.c: current->policy |= SCHED_YIELD;
I will try to make similar changes for those in a -jam5.
Many thanks.
Signature · 4 lines
J.A. Magallon # Let the source be with you... mailto:[email protected] Mandrake Linux release 8.3 (Cooker) for i586 Linux werewolf 2.4.19-pre7-jam4 #1 SMP lun abr 22 00:52:56 CEST 2002 i686
Quoted 1 line · J.A. Magallon
Quoted 1 line
1)
sched.ccomplains about missinglocal_bh_count,TQUEUE_BH, ...
you need to #include linux/interrupts.h in sched.c
Quoted 15 lines
Yup, there are files not covered by 20-sched-O1-rml-1. Fast search:
werewolf:/usr/src/linux# grep -r SCHED_YIELD * arch/alpha/mm/fault.c: current->policy |= SCHED_YIELD; arch/mips/mm/fault.c: tsk->policy |= SCHED_YIELD; arch/ppc/mm/fault.c: current->policy |= SCHED_YIELD; arch/m68k/mm/fault.c: current->policy |= SCHED_YIELD; arch/arm/mm/fault-common.c: tsk->policy |= SCHED_YIELD; arch/sh/mm/fault.c: current->policy |= SCHED_YIELD; arch/ia64/mm/fault.c: current->policy |= SCHED_YIELD; arch/mips64/mm/fault.c: tsk->policy |= SCHED_YIELD; arch/s390/mm/fault.c: tsk->policy |= SCHED_YIELD; arch/s390x/mm/fault.c: tsk->policy |= SCHED_YIELD; init/do_mounts.c: current->policy |= SCHED_YIELD;
I did not touch the arch-dependent code because there are other changes the arches require that need to be made ...
Robert Love