Subject: Re: Speeding up RiscBSD and some other questions
To: Marc Theisen <arcmt@mailhost.uni-koblenz.de>
From: Jasper Wallace <jasper@ivision.co.uk>
List: port-arm32
Date: 02/14/1997 12:20:06
On Fri, 14 Feb 1997, Marc Theisen wrote:

> Hi Freaks!
> 
> I am now "using" (which means installing and testing!) RiscBSD four about
> four weeks. I upgraded my SA-driven RiscPC with a Quantum Fireball TM 2.1GB
> and added 32MB DRAM. So RiscBSD seems to run fine in comparison to these
> old Sun's here at my University. But when I compare the system performance
> in some cases RiscBSD really needs to be improved, I think. Just look at
> Suse's Linux for IBM-PC's: After typing "xterm &" there is a delay of, well
> say just a half of a second and there it is! Under RiscBSD this procedure takes
> several seconds, with a SA and 40MB RAM! I also tested the performance by
> comparing the execution times of unzipping large files with gunzip. There the
> difference was much bigger and I think that the lack of a Math-Coproc is not
> a sensible reason for this. So I assume that there are a lot of routines in the
> kernel which can be improved, or am I wrong?

not nessacarily in the kernel - the Standard C library needs improving.
AFAICR this has been done, just not released to the outside world, Oh, I
remmber - It was done, but using ObjAsm under Risc OS, and no-one's got
around to converting all the assembler to gas (the GNU assembler)

> Could anybody summarize the procedures to build new kernels?

look at:

The guide mark wrote (on the ftp site somewhere)
man config
get sup and man sup
http://www.warped.com/~windsor/netbsd/
http://www.bik-gmbh.de/~cracauer/bsd-shrink-kernel.html
http://www.cons.org/cracauer/bsd.html
http://www.imrryr.org/NetBSD/

To upgrade to the latest source you will need to do something like:
(Don't take this as gospel - it may not be entirly correct)

[download usr.bin usr.sbin share sys bin & sbin]

cd /usr/src/share/mk && make install # new Makefiles
cd /usr/src/usr.bin/make && make depend all install # new make 
cd /usr/src/sys/arch/arm32/conf # go to the kernel conf dir
cp GENERIC <YOURMACHINENAME> # a new kernel conf. file 
[edit <YOURMACHINENAME> as you like] # remove un wanted things, possibly add
				     # stuff
config <YOURMACHINENAME> # produce the generated kernel files
cd ../compile/<YOURMACHINENAME>/ # go to the compile dir.
make depend && make netbsd # make the kernel
cd /usr/src && make include # install new header files
cd /usr/src/sys && make include # install new header files from the kernel [1]
cd /usr/src/lib/libkvm.old/ && make include depend all install # new kvm lib
cd /usr/src/bin/ps && make depend all install # needs new kvm lib
cd /usr/src/usr.bin/netstat && make depend all install # needs new kvm lib
cd /usr/src/usr.bin/vmstat && make depend all install # needs new kvm lib
cd /usr/src/usr.bin/w && make depend all install # needs new kvm lib
cd /usr/src/sbin/kvm_mkdb && make depend all install # needed to produce new
						     # kvm.db
cd /usr/src/sbin/sysctl && make depend all install # has changed recently
cp /usr/src/sys/arch/arm32/compile/<YOURMACHINENAME>/netbsd /netbsd # copy
					# the new kernel
					# keep a backup of the old one!!!!

[1] may not be needed

> Do these simple utilities like 'cp' or 'gunzip' take advantage of these
> improved routines or do they have to be recompiled?

For the kernel io stuff no. for the C library yes.

> Why does RiscBSD not take advantage of a kind of a "SharedCLibrary" like it is
> used under RISCOS? (As I look at the code-size of the utilities above I
> understand why using RiscBSD needs upgrading your hardware...)

the complier dosn't generate position independant code yet (-fpic) 

> Well, I would be happy if I could give a little of my knowledge to the
> porting team in order to make life easier using RiscBSD. So if there are
> some code sequences which need to be optimised using Assembler code, here
> I am!

Wel you know what they say in the army - Never Volunteer!!!

P.S. don't try a 'make build' on the entire source tree, Risc BSD dosn't use
the netbsd toolchain (compiler linker etc...), so you will end up with a
system that can't compile things.

-- 
Jasper Wallace-Internet Vision | Caving-Acorn-RiscBSD-Chocolate-Banks-Fish
My opinions != IVisions's      | PovRay-FVWM-Perl-C-Mono-Food-Wired-?
E-Mail:jasper@ivision.co.uk    | This is the Internet, untamed and free,
Tel: +44 171 589 4500 (work)   | Where you can be anything you want to be