*BSD News Article 74644


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.mira.net.au!news.vbc.net!samba.rahul.net!rahul.net!a2i!olivea!spool.mu.edu!howland.reston.ans.net!Germany.EU.net!Dortmund.Germany.EU.net!interface-business.de!usenet
From: j@ida.interface-business.de (J Wunsch)
Newsgroups: comp.os.linux.misc,comp.unix.bsd.freebsd.misc
Subject: Re: TCP latency
Date: 25 Jul 1996 10:35:07 GMT
Organization: interface business GmbH, Dresden
Lines: 42
Message-ID: <4t7ikr$g42@innocence.interface-business.de>
References: <4paedl$4bm@engnews2.eng.sun.com>
  <4s8cuq$ljd@bertrand.ccs.carleton.ca> <31E7C0DD.41C67EA6@dyson.iquest.net>
  <4s8tcn$jsh@fido.asd.sgi.com> <31E80ACA.167EB0E7@dyson.iquest.net>
  <4sadde$qsv@linux.cs.helsinki.fi> <31E9E3A7.41C67EA6@dyson.iquest.net>
  <4sefde$f0l@fido.asd.sgi.com> <4socfr$3ot@dworkin.wustl.edu>
  <4t63as$f2q@fido.asd.sgi.com>
Reply-To: joerg_wunsch@interface-business.de (Joerg Wunsch)
NNTP-Posting-Host: ida.interface-business.de
X-Newsreader: knews 0.9.6
X-Phone: +49-351-31809-14
X-Fax: +49-351-3361187
X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F  93 21 E0 7D F9 12 D6 4E
Xref: euryale.cc.adfa.oz.au comp.os.linux.misc:118365 comp.unix.bsd.freebsd.misc:24370

(Removed the NetBSD group per their request, they don't seem interested
in benchmarking. ;)  Moved the linux group to .misc, hope that's the
right one.)

lm@neteng.engr.sgi.com (Larry McVoy) wrote:

> 	kill(), umask()	These are the best "null system call" benchmark
> 			choices I've seen.  I'd vary the mask in the umask 
> 			one so that it was actually changing state.  The

Well, the kill() proposal is ``not quite null'' either, since it has
to walk the process table.  If the process table is linear, finding
process 1 will certainly be quick, but they are often (usually?)
hashed, so the result is probably as accurate as for the /dev/null
write: you've got a good measure to see whether some optimization on
your own system will make things better or worse, but the numbers
hardly compare to other systems (since they have no real meaning, just
like the ``write 1 byte to /dev/null'' is far off from real-world
usage patterns).

umask(umask(0777)) does indeed always change state, but the effect of
setting the umask is IMHO so that any attempt to `optimize' the
`doesn't change anything' case away will probably be a pessimization,
i.e. even setting it to the previous value is cheaper than launching
a comparision (and an expensive branch) first.
 
> I'm also willing (and interested) to find a different syscall that just
> measures trap overhead, but I haven't seen one yet that I really like.
> The getppid() may be the best out there, though, it's hard to cache 
> that.  Thoughts?

Other people also suggested getppid().  I'd say either this or the
umask() were my favorites.

Btw., if you decide to have a ``null IO syscall'' test, why not also
comparing 1024 bytes to /dev/null as well?  This would allow an
estimation of scaling problems.

-- 
J"org Wunsch					       Unix support engineer
joerg_wunsch@interface-business.de       http://www.interface-business.de/~j