Subject: MP safe syscall changes
To: None <tech-smp@netbsd.org>
From: Andrew Doran <ad@netbsd.org>
List: tech-smp
Date: 02/05/2007 16:14:18
Hi,
I just made a bunch more syscalls MP safe on the newlock2 branch, and ran a
quick test on this machine: 4 x 700MHz P-III Xeon, 1MB L2 cache per CPU, 2GB
RAM. Cleaning out a clean source tree with make -j16 cleandir:
real user system
MP, newlock2 103.55s 174.51s 246.26s
MP, HEAD 114.21s 175.46s 287.01s
UP, newlock2 198.34s 152.67s 61.30s
UP, HEAD 199.18s 150.60s 59.20s
The results aren't astounding and are not particularly accurate (system and
user time are subject to sampling error), but the indicated difference
relative to HEAD is:
real system
MP -9% -14%
UP -0.5% +3.5%
At a guess, part of the additional two seconds system time in the UP case is
a result of all the jumping through hoops that needs to be done to support
both locking against interrupt handlers and LWPs. With interrupts as threads
that cost can be eliminated..
Cheers,
Andrew