Subject: Context switch times for NetBSD 2x those of 386BSD 0.1?
To: None <port-i386@sun-lamp.cs.berkeley.edu, current-users@sun-lamp.cs.berkeley.edu>
From: Thor Lancelot Simon <tls@panix.com>
List: port-i386
Date: 08/26/1994 18:05:41
A recent thread in comp.arch discusses context switch times for various
operating systems on modern hardware. Someone who works at QNX just posted a
list of measurements he's taken; it shows context switch times of 210ms and
380ms for 386BSD 0.1 and NetBSD on the same hardware.
This seems potentially indicative of a disturbing trend. Is any attempt
being made to keep the kernel in line so far as code bloat goes?
Is anyone profiling the kernel, or otherwise actively working on this issue?
I can go spend a few weeks taking measurements if someone's not already.
Thor
P.S. I've attached a comp.arch article below.
Newsgroups: comp.arch,comp.benchmarks,comp.sys.super
Path: panix!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!torn!nott!cunews!revcan!quantum!danh
From: danh@qnx.com (Dan Hildebrand)
Subject: Re: Overheads of Parallel Systems (Summary)
Message-ID: <lmh9=0k@qnx.com>
Date: Thu, 25 Aug 94 12:23:24 GMT
Organization: QNX Software Systems
References: <33gfr2$atr@monalisa.usc.edu>
Lines: 67
Xref: panix comp.arch:34185 comp.benchmarks:6377 comp.sys.super:3562
In article <33gfr2$atr@monalisa.usc.edu>,
Zhiwei Xu <zxu@monalisa.usc.edu> wrote:
>
>(3) Context-switching times in microseconds
>
>Platform, Operating System Context Switching Time
>Processor Speed (Mhz)
>
>HP-735, 99 HP-UX 9.01 68
>486DX, 33 QNX 4.2 80
>DEC 4000/610, 160 OSF/1 v1.3 87
>486DX2, 66 Linux 0.99.10 98
>IBM RS6000/580, 62 AIX 3.2 102
>Sun SS10, 40 SunOS 4.1.3 128
>Sun SS10, 40 SunOS 5.2 225
>Sun SS2, 40 SunOS 5.2 454
Note that these times are the measured result of a pair of processes
signalling each other, which includes the additional kernel call overhead
for the signalling calls. A benefit of this approach is that the source is
portable to a wide range of UNIX systems, howver, a more correct result,
but currently less portable, can be obtained by using the sched_yield()
call in a POSIX 1003.1b (previously 1003.4) OS. Since this approach
executes only one kernel call per context switch, with no signal processing
being done, it is a more accurate indication of the actual context switch
time. Without the signal processing, the intervals are also much shorter.
For example, the Pentium/90 number for QNX drops from 23 usec to 2 usecs,
the 486/66 number drops from 44 to 5 usecs. Here's a more complete listing
of numbers collected from various responses on the net:
Platform, Operating System Context Switching Time
Processor Speed (Mhz) in microseconds
90 MHz PCI Pentium QNX 4.21 23
60 MHz ALR Pentium QNX 4.2 28
100 MHz HP-747x HP-RT 1.1 34
66 MHz 486DX2 QNX 4.2 44
100 Mhz HP-735 HP-UX 9.01 68
50 MHz HP-742 HP-RT 1.1 71
33 MHz 486DX QNX 4.2 80
150 MHz 21064 DEC OSF/1 v1.3 93
80 MHz HP-712/80 HP-UX 9.05 96
40 MHz DEC 5000/240 Ultrix 4.2 98
66 MHz 486DX2 Linux 0.99.10 98
150 MHz DEC 3000/500 ? 100
62 MHz IBM-RS6000/580 AIX 3.2 102
66 Mhz Snake HP-UX 9.x 106
150 MHz DEC 3000/400 ? 127
40 Mhz Viking SunOS 4.1.3 128
25 MHz DEC 5000/200 ? 154
50 MHz R4000 SGI ? 158
33 MHz Sparc SunOS 4.1.1 198
40 MHz MIPS R3000 Ultrix 4.3 198
33 Mhz 486 386BSD 0.1 210
85 MHz Sparcstation-5 SunOS 4.1.3_U1 210
50 Mhz RIOS AIX 3.2 212
20 MHz DEC 5000/120 ? 281
33 MHz R3000/3010 SGI Irix 4.0.5 345
33 MHz 486 NetBSD 380
50 MHz Sparcstation-LX Solaris 2.3 620
50 MHz 486DX2 Solaris 636
16 MHz 386SX NetBSD 2603
--
Dan Hildebrand email: danh@qnx.com
QNX Software Systems, Ltd. QUICS: danh (613) 591-0934 (data)
(613) 591-0931 x204 (voice) mail: 175 Terence Matthews
(613) 591-3579 (fax) Kanata, Ontario, Canada K2M 1W8
------------------------------------------------------------------------------