*BSD News Article 58323


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.bhp.com.au!mel.dit.csiro.au!munnari.OZ.AU!news.ecn.uoknor.edu!news.cis.okstate.edu!col.hp.com!sdd.hp.com!usc!howland.reston.ans.net!blackbush.xlink.net!rz.uni-karlsruhe.de!news.uni-stuttgart.de!schweikh
From: schweikh@itosun.ito.uni-stuttgart.de (Jens Schweikhardt)
Newsgroups: comp.os.linux.advocacy,alt.os.linux,comp.unix.bsd.freebsd.misc,comp.unix.bsd.netbsd.misc
Subject: Re: a monthly FreeBSD magazine (and other *BSD's too)
Date: 4 Jan 1996 13:28:11 GMT
Organization: Comp.Center (RUS), U of Stuttgart, FRG
Lines: 53
Message-ID: <4cgklb$22ss@info4.rus.uni-stuttgart.de>
References: <4ajc07$sb7@unix2.glink.net.hk> <4cesep$pb1@agate.berkeley.edu> <4cf40b$9ri@bell.maths.tcd.ie> <4cg8es$1ih@knobel.gun.de>
NNTP-Posting-Host: itosun.ito.uni-stuttgart.de
Xref: euryale.cc.adfa.oz.au comp.os.linux.advocacy:32290 alt.os.linux:6939 comp.unix.bsd.freebsd.misc:11606 comp.unix.bsd.netbsd.misc:1739

In article <4cg8es$1ih@knobel.gun.de>,
Andreas Klemm <andreas@knobel.gun.de> wrote:
>Ok, there are really some benchmarks, where Linux has higher values
>(I think it were fork or exec calls). But on the whole I made the 
>experience (it's about a year ago) that FreeBSD is the more balanced 
>system. that has much better response times when the system has lot's
>of things to do.
>
>Benchmarks are benchmarks, real life is real life.

Amen. [No, I don't assume you are a Linux enthusiast, Andreas,
the following is just an observation I made]

I think one reason Linux _may_ be faster in some
circumstance is that it is sloppy when it comes to resource
usage accounting. Last time I checked (1.2.13 if my memory
does not fail me), getrusage() would report 0 on many
fields, notably

       int ru_inblock;  /* block input operations */
       int ru_oublock;  /* block output operations */
       int ru_msgsnd;   /* messages sent */
       int ru_msgrcv;   /* messages received */
       int ru_nsignals; /* signals received */
       int ru_nvcsw;    /* voluntary context switches */
       int ru_nivcsw;   /* involuntary context switches */
       int ru_nswap;    /* swaps */

The nonzero being 

       struct timeval ru_utime;/* user time used */
       struct timeval ru_stime;/* system time used */
       int ru_maxrss;   /* maximum resident set size */
       int ru_idrss;    /* integral resident set size */
       int ru_minflt;   /* page faults not requiring physical I/O */
       int ru_majflt;   /* page faults requiring physical I/O */
(snipped from Solaris man page -- sorry)

Reading the Linux kernel source I recall having found a comment along

	/* Adding the other fields to the proc structure would make
       it real big */

I'm disappointed with linux in this respect. Originally I found
this getrusage() sloppyness when I compiled GNU time and it always
gave me 0 values for most fields. I suspected a bug in GNU time,
but upon investigation I found it was the linux kernel who would
not record the values.

Bye, Jens

-- 
SIGSIG -- signature too long (core dumped)