atom feed6 messages in org.freebsd.freebsd-smpRe: High syscall overhead?
FromSent OnAttachments
Chris CostelloJun 11, 1999 7:59 am 
David E. CrossJun 11, 1999 8:27 am 
William S. DuncansonJun 11, 1999 8:41 am 
Mikhail V. EvstiouninJun 11, 1999 9:04 pm 
Aaron SmithJun 12, 1999 1:32 am 
Arun SharmaJun 12, 1999 10:40 am 
Subject:Re: High syscall overhead?
From:Chris Costello (chr@calldei.com)
Date:Jun 11, 1999 7:59:03 am
List:org.freebsd.freebsd-smp

On Fri, Jun 11, 1999, David E. Cross wrote:

Just doing some performance testing and I noticed something rather disturbing....

Here is the test program: int main (void) { int count=0; for(count=0;count <10000000;++count) getppid();

return 0; }

The time on linux for this program is ~5 seconds (linux "time" reports 3.x, but a wall clock clearly shows 5.x, go fig). FreeBSD reports 18.x seconds?!. I have a dual processor system and decided to parallel run them... it took 52!?! seconds, linux on the same was again about 5. Looking through the exception.s it appears that on entry to the kernel an MP lock is obtained... I thought we had splX(); to protect concurancy in the kernel.

('sc' being the program above, compiled without optimization, just with cc -o sc sc.c) $ time ./sc 10.04s real 3.89s user 5.64s system

I counted between around 9 and a half to 10 and a half seconds on my wall clock (trusty old GE, same model they have in public schools).

Copyright (c) 1992-1999 The FreeBSD Project. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 4.0-CURRENT #4: Sun May 30 04:22:23 CDT 1999 ro@holly.dyndns.org:/usr/src/sys/compile/Holly Timecounter "i8254" frequency 1193182 Hz CPU: AMD-K6(tm) 3D processor (350.80-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x580 Stepping=0 Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> real memory = 67108864 (65536K bytes) sio0: system console avail memory = 62267392 (60808K bytes)

SMP specific bug, perhaps?

I am just curious what's the story with this. On some of my other tests it is clear that FreeBSD is handling concurancy much better than linux (by an equal factor actually, and on "real" tasks like real I/O handling).

To Unsubscribe: send mail to majo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message

To Unsubscribe: send mail to majo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message