Subject: Re: New kinetic figures
To: Chris Gilbert <chris@paradox.demon.co.uk>
From: Richard Earnshaw <rearnsha@arm.com>
List: port-arm32
Date: 02/08/2001 10:48:25
chris@paradox.demon.co.uk said:
> Don't know, configure scripts have always been really bad on arm
> platform, it's all the fast forking and exiting of the test
> processes. I might try shifting it onto a local disk as you suggest,
> but I don't expect a huge gain.
At least four cache flushes for each process that runs (assuming that the
process is never suspended in favour of another one).
1 when the process is first activated.
3 when it dies.
It's the final three that are the real killer, but it's due to the way
that uvm removes dead processes and the current implementation of the pmap
code for supporting that. A good test of forking capability is something
like
#include <sys/types.h>
#include <unistd.h>
main()
{
int i;
for (i = 0; i < 1000; i++)
{
if (fork() == 0)
exit(0);
wait (0);
}
}
which takes
Linux(x86/700MHz) real 0.3 user 0.02 sys 0.27
Solaris(ultra5/360MHz) real 3.1 user 0.3 sys 2.3
Shark/NetBSD(SA110/233MHz) real 9.2 user 0.02 sys 1.9
Personally, I think this sys figure for the Shark is bogus -- it should be
much much closer to the real time...