Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Jun 1999 09:59:25 -0500
From:      Chris Costello <chris@calldei.com>
To:        "David E. Cross" <crossd@cs.rpi.edu>
Cc:        freebsd-hackers@FreeBSD.ORG, freebsd-smp@FreeBSD.ORG
Subject:   Re: High syscall overhead?
Message-ID:  <19990611095925.V57174@holly.dyndns.org>
In-Reply-To: <199906111440.KAA70517@cs.rpi.edu>; from David E. Cross on Fri, Jun 11, 1999 at 10:40:37AM -0400
References:  <199906111440.KAA70517@cs.rpi.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
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
    root@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).
> 
> --
> David Cross                               | email: crossd@cs.rpi.edu 
> Systems Administrator/Research Programmer | Web: http://www.cs.rpi.edu/~crossd 
> Rensselaer Polytechnic Institute,         | Ph: 518.276.2860            
> Department of Computer Science            | Fax: 518.276.4033
> I speak only for myself.                  | WinNT:Linux::Linux:FreeBSD
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message

-- 
Chris Costello                                <chris@calldei.com>
This message transmitted on 100% recycled electrons.


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990611095925.V57174>