Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Jun 1999 10:40:37 -0400
From:      "David E. Cross" <crossd@cs.rpi.edu>
To:        freebsd-hackers@freebsd.org
Subject:   High syscall overhead?
Message-ID:  <199906111440.KAA70517@cs.rpi.edu>

next in thread | raw e-mail | index | archive | help
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.

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




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