Re: real kernel bloat

David S. Miller (dm@neteng.engr.sgi.com)
Wed, 26 Jun 1996 03:38:54 -0700


From: Alan Cox <alan@cymru.net>
Date: Wed, 26 Jun 1996 09:50:41 +0100 (BST)

I beg to differ. And every benchmark we have floating around says
just who is winning. You might want to look at the kind of people
Linux hackers are working for in their non spare time, and the sort
of people who are hiring them ... The place stuff like OSF/1 should
still win is going to 12 processor .5Gb Alpha's. The really big
stuff, and thats primarily because we don't have any of those handy
for a Linux port and to do all the tuning.

Alan is right, for those misbelieveing folks here is how SparcLinux
fares on the _same_ exact hardware against SunOS4.1.4 (last official
release) and Solaris2.5 The punchline is that the SparcLinux box is
running lmbench SunOS binaries in syscall emulation mode. Also note
that the TCP bandwidth numbers are completely misleading on the
Solaris end of things, they just memcpy() the data and control never
leaves the IP layer for localhost TCP sockets. As proof of this,
Linux has the world record for over the wire TCP latency, Solaris had
the record on UltraSparc 100Mb/s ether, but nowadays Linux on a
pentium with half the CPU horsepower as the Ultra can get packets onto
a 100Mb/s wire faster than _anyone_, I repeat, _anyone_ on the planet.

L M B E N C H 1 . 0 S U M M A R Y
------------------------------------

Processor, Processes - times in microseconds
--------------------------------------------
Host OS Mhz Null Null Simple /bin/sh Mmap 2-proc 8-proc
Syscall Process Process Process lat ctxsw ctxsw
--------- ------------- ---- ------- ------- ------- ------- ---- ------ ------
trombetas Linux 1.99.5 50 11 8.7K 40.9K 75K 346 84 102
geneva.ru SunOS 5.5 50 31 33.7K 148.2K 274K 596 174 205
negro.rut SunOS 4.1.3_U 49 124 18.3K 63.9K 110K 470 152 262

*Local* Communication latencies in microseconds
-----------------------------------------------
Host OS Pipe UDP RPC/ TCP RPC/
UDP TCP
--------- ------------- ------- ------- ------- ------- -------
trombetas Linux 1.99.5 270 966 1686 1326 2500
geneva.ru SunOS 5.5 530 1563 2080 1354 2398
negro.rut SunOS 4.1.3_U 890 1375 2287 1573 2804

*Local* Communication bandwidths in megabytes/second
----------------------------------------------------
Host OS Pipe TCP File Mmap Bcopy Bcopy Mem Mem
reread reread (libc) (hand) read write
--------- ------------- ---- ---- ------ ------ ------ ------ ---- -----
trombetas Linux 1.99.5 8 4.4 25.0 17.4 18 25 41 36
geneva.ru SunOS 5.5 8 7.0 12.6 19.5 18 18 40 36
negro.rut SunOS 4.1.3_U 4 2.0 19.5 8.2 18 24 41 36

Memory latencies in nanoseconds
(WARNING - may not be correct, check graphs)
--------------------------------------------
Host OS Mhz L1 $ L2 $ Main mem TLB Guesses
--------- ------------- --- ---- ---- -------- --- -------
trombetas Linux 1.99.5 50 20 170 180 600 No L2 cache?
geneva.ru SunOS 5.5 49 - - - - Bad mhz?
negro.rut SunOS 4.1.3_U 49 20 175 183 659 No L2 cache?