2002-09-06 09:32:24

by Wojciech 'Sas' Cieciwa

[permalink] [raw]
Subject: [long] 2.4.19 and O(1) Scheduler [PPC]

Hi,

I try to compile kernel 2.4.19 with sched-2.4.19-rc2-A4.
And:

gcc -D__KERNEL__ -I/home/users/cieciwa/rpm/BUILD/linux-2.4.19/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -D__powerpc__ -fsigned-char -msoft-float -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring -DKBUILD_BASENAME=main -c -o init/main.o init/main.c
In file included from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/fs.h:26,
from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/capability.h:17,
from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/binfmts.h:5,
from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/sched.h:9,
from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/mm.h:4,
from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/slab.h:14,
from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/proc_fs.h:5,
from init/main.c:15:
/home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/asm/bitops.h: In function `set_bit':
/home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/asm/bitops.h:42: parse error before `PPC405_ERR77'
/home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/asm/bitops.h:37: warning: unused variable `p'
/home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/asm/bitops.h:36: warning: unused variable `mask'
[...]

gcc is in version 2.95.4

Any ideas ?

Thanx.
Sas.
--
{Wojciech 'Sas' Cieciwa} {Member of PLD Team }
{e-mail: [email protected], http://www2.zarz.agh.edu.pl/~cieciwa}


2002-09-06 14:22:23

by Tom Rini

[permalink] [raw]
Subject: Re: [long] 2.4.19 and O(1) Scheduler [PPC]

On Fri, Sep 06, 2002 at 11:22:54AM +0200, Wojciech Sas Cieciwa wrote:

> I try to compile kernel 2.4.19 with sched-2.4.19-rc2-A4.
> And:
>
> gcc -D__KERNEL__ -I/home/users/cieciwa/rpm/BUILD/linux-2.4.19/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -D__powerpc__ -fsigned-char -msoft-float -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring -DKBUILD_BASENAME=main -c -o init/main.o init/main.c
> In file included from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/fs.h:26,
> from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/capability.h:17,
> from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/binfmts.h:5,
> from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/sched.h:9,
> from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/mm.h:4,
> from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/slab.h:14,
> from /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/linux/proc_fs.h:5,
> from init/main.c:15:
> /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/asm/bitops.h: In function `set_bit':
> /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/asm/bitops.h:42: parse error before `PPC405_ERR77'
> /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/asm/bitops.h:37: warning: unused variable `p'
> /home/users/cieciwa/rpm/BUILD/linux-2.4.19/include/asm/bitops.h:36: warning: unused variable `mask'
> [...]

You've got some incomplete PPC patch somewhere, or you're trying to
compile for an IBM 40x board, which isn't supported by the kernel.org
trees yet.

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

2002-09-09 10:39:38

by Wojciech 'Sas' Cieciwa

[permalink] [raw]
Subject: Re: [long] 2.4.19 and O(1) Scheduler [PPC]

On Fri, 6 Sep 2002, Tom Rini wrote:
[...]
>
> You've got some incomplete PPC patch somewhere, or you're trying to
> compile for an IBM 40x board, which isn't supported by the kernel.org
> trees yet.

Maybe, patch is from http://people.redhat.com/mingo/O(1)-scheduler/
When I replace PPC405_ERR77(x, y) to dcbt x,y [I found this in 2.5]
This part passed correctly, but I found next error in O(1) scheduler source.

[...]
mk_defs.c: In function `main':
mk_defs.c:40: structure has no member named `counter'
mk_defs.c:41: structure has no member named `processor'

When I change this:
from:
DEFINE(COUNTER, offsetof(struct task_struct, counter));
DEFINE(PROCESSOR, offsetof(struct task_struct, processor));
to:
DEFINE(COUNTER, offsetof(struct task_struct, time_slice));
DEFINE(PROCESSOR, offsetof(struct task_struct, cpu));

I hope this is correct, I found last error :

[...]
arch/ppc/kernel/kernel.o arch/ppc/mm/mm.o arch/ppc/lib/lib.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o \
drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/media/media.o drivers/char/drm/drm.o drivers/net/fc/fc.o drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o drivers/net/pcmcia/pcmcia_net.o drivers/net/wireless/wireless_net.o drivers/macintosh/macintosh.o drivers/video/video.o drivers/net/hamradio/hamradio.o drivers/usb/usbdrv.o drivers/input/inputdrv.o drivers/md/mddev.o drivers/isdn/vmlinux-obj.o \
net/network.o \
/home/users/cieciwa/rpm/BUILD/linux-2.4.19/lib/lib.a \
--end-group \
-o vmlinux
arch/ppc/kernel/kernel.o: In function `ret_from_fork':
arch/ppc/kernel/kernel.o(.text+0x27c): undefined reference to `schedule_tail'
arch/ppc/kernel/kernel.o(.text+0x27c): relocation truncated to fit: R_PPC_REL24 schedule_tail
kernel/kernel.o: In function `schedule':
kernel/kernel.o(.text+0x1054): undefined reference to `_sched_find_first_bit'
kernel/kernel.o(.text+0x1054): relocation truncated to fit: R_PPC_REL24 _sched_find_first_bit
make: *** [vmlinux] Error 1

And I don't know how to solve this problem.
I don't have PPC machine in home, this error I take when I work via
internet.

Thanx.
Sas.
--
{Wojciech 'Sas' Cieciwa} {Member of PLD Team }
{e-mail: [email protected], http://www2.zarz.agh.edu.pl/~cieciwa}

2002-09-09 14:14:40

by Tom Rini

[permalink] [raw]
Subject: Re: [long] 2.4.19 and O(1) Scheduler [PPC]

On Mon, Sep 09, 2002 at 12:30:08PM +0200, Wojciech Sas Cieciwa wrote:
> On Fri, 6 Sep 2002, Tom Rini wrote:
> [...]
> >
> > You've got some incomplete PPC patch somewhere, or you're trying to
> > compile for an IBM 40x board, which isn't supported by the kernel.org
> > trees yet.
>
> Maybe, patch is from http://people.redhat.com/mingo/O(1)-scheduler/
> When I replace PPC405_ERR77(x, y) to dcbt x,y [I found this in 2.5]
> This part passed correctly, but I found next error in O(1) scheduler source.

Well, if you aren't compiling for an IBM 40x board, PPC405_ERR77 should
be defined to nothing. And it also looks like the O(1) scheduler patch
you're trying lacks complete PPC support. I would again suggest that
you use 2.4.18 or 2.4.19 and whichever O(1) patch applies to that, as I
think I've seen people using O(1) on PPC under 2.4.

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/