2002-04-22 01:12:01

by J.A. Magallon

[permalink] [raw]
Subject: [PATCHSET] Linux 2.4.19-pre7-jam4

Hi all.

New version of my patch collection.
This version includes to main updates: ide-6 and the updated version of
the O(1) scheduler, backp?rted from 2.5 by Robet Love.

Main features: vm-33 + sched-O1-rml + mini-low-latency
Bonus: ide-6 + bproc-3.1.9 + netconsole.

Get it at:

http://giga.cps.unizar.es/~magallon/linux/kernel/2.4.19-pre7-jam4.tar.gz
http://giga.cps.unizar.es/~magallon/linux/kernel/2.4.19-pre7-jam4/

See README for full credits and origins of patches.

Enjoy !!

--
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


2002-04-22 06:31:08

by Norbert Kiesel

[permalink] [raw]
Subject: Re: [PATCHSET] 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

diff -ur linux/init/do_mounts.c linux-nk/init/do_mounts.c
--- linux/init/do_mounts.c Sun Apr 21 23:04:20 2002
+++ linux-nk/init/do_mounts.c Sun Apr 21 21:01:41 2002
@@ -775,8 +775,7 @@
pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD);
if (pid > 0) {
while (pid != wait(&i)) {
- current->policy |= SCHED_YIELD;
- schedule();
+ yield();
}
}

diff -ur linux/kernel/sched.c linux-nk/kernel/sched.c
--- linux/kernel/sched.c Sun Apr 21 23:16:06 2002
+++ linux-nk/kernel/sched.c Sun Apr 21 21:24:59 2002
@@ -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

--
Key fingerprint = 6C58 F18D 4747 3295 F2DB 15C1 3882 4302 F8B4 C11C


Attachments:
diff.nk (723.00 B)
signature.asc (232.00 B)
This is a digitally signed message part
Download all attachments

2002-04-22 07:40:21

by J.A. Magallon

[permalink] [raw]
Subject: Re: [PATCHSET] Linux 2.4.19-pre7-jam4


On 2002.04.22 Norbert Kiesel wrote:
>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.
>
[...]

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.

--
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

2002-04-22 12:44:09

by Robert Love

[permalink] [raw]
Subject: Re: [PATCHSET] Linux 2.4.19-pre7-jam4

On Mon, 2002-04-22 at 03:40, J.A. Magallon wrote:

> >1) sched.c complains about missing local_bh_count, TQUEUE_BH, ...

you need to #include linux/interrupts.h in sched.c

> 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