Interesting results from kernel syscall benchmarks posted on opensolaris.org (repost)
Interesting results from kernel syscall benchmarks posted on opensolaris.org (repost)
- Subject: Interesting results from kernel syscall benchmarks posted on opensolaris.org (repost)
- From: Ben Cooper <email@hidden>
- Date: Thu, 18 Aug 2005 08:36:56 +1000
I tried to send this to darwin-kernel a few days back, but I can't
see it in the archives so I'll try again...
I've been looking at the set of kernel benchmarks released on
opensolaris.org (http://www.opensolaris.org/os/community/performance/
libmicro/) and got most of them running on Darwin except for a few,
so I'd like some of you're thoughts on this.
Whenever I run some of the tests I get a "resource temporarily
unavailable" error, leading me to think I've hit the vfork bug
described at http://sysnet.ucsd.edu/~bellardo/darwin/vfork.html,
although I also get these on file locking tests.
Firstly, changes I made to the distribution to get it running on
Darwin (Mac OS X 10.4.1-> Darwin Kernel Version 8.2.0):
$ diff Makefile.Darwin Makefile.Linux
42,50c42
< atomic \
< getcontext \
< setcontext \
< cascade_fcntl \
< cascade_flock \
< cascade_lockf \
< fork \
< exit \
< connection
---
> atomic
53c45
< include ../Makefile.com.Darwin
---
> include ../Makefile.com
I used the Linux makefile as a basis since it contained the least
amount of compiler flags and gcc is the c compiler most will use on
both systems.
$ diff Makefile.com Makefile.com.Darwin
112c112
< $(CC) -o tattle $(CFLAGS) -I. ../tattle.c libmicro.a -lrt -lm
---
> $(CC) -o tattle $(CFLAGS) -I. ../tattle.c libmicro.a -
lSystem -lm
It seems like rt isn't available on Darwin (at least not on Mac OS X
10.4.1), so I used System as per the suggestion found here http://
www.eca.cx/ecasound-list/2004/10/0056.html. It compiled fine, but I'd
like suggestions on this.
$ diff Makefile ../libMicro-0.3.0.orig/Makefile
72c72
< @mkdir -p bin-`arch`; cd bin-`arch`; MACH=`arch` $(MAKE) -
f ../Makefile.`uname -s` $@
---
> @mkdir -p bin-`uname -m`; cd bin-`uname -m`; MACH=`uname -m`
$(MAKE) -f ../Makefile.`uname -s` $@
$ diff wrapper ../libMicro-0.3.0.orig/wrapper
37c37
< ARCH=`arch`
---
> ARCH=`uname -m`
$ diff bench ../libMicro-0.3.0.orig/bench
70c70
< ARCH=`arch`
---
> ARCH=`arch -k`
94c94
< printf "!Processor: 0s\n" `arch`
---
> printf "!Processor: 0s\n" `uname -m`
uname -m on OS X/PPC returns "Power Macintosh", and the scripts
couldn't cope with the space (especially with copy commands in
there!). arch seems to be a decent substitute, but it doesn't take
any arguments on OS X so I also had to replace the arch -k in bench.
My main concern is with the cascade_fcntl, cascade_flock,
cascade_lockf, fork, exit tests, in which whenever I add the
cascase_* tests to the benchmark script I get the "resource
temporarily unavailable" error, and the fork and exit tests just seem
to hang.
Regarding the cascade_* tests, it definitely seems that Darwin has
some sort of limit on the amount of file locks it is willing to
create. Is there some way I can control this? I'm not so sure about
the fork and exit tests though. Any ideas on this would be greatly
appreciated.
Kind Regards,
Ben Cooper
Quality Control Analyst
Whitesmiths Pty Ltd
Tel: +61 2 8912 1774
Fax: +61 2 8912 1701
Email: email@hidden
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager. Please note that any views or opinions presented
in this email are solely those of the author and do not necessarily
represent those of Whitesmiths. Finally, the recipient should check
this email and any attachments for the presence of viruses.
Whitesmiths accepts no liability for any damage caused by any virus
transmitted by this email.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden