Subject: Re: Is the netBSD kernel Preemptible ?
To: None <tech-perform@NetBSD.ORG>
From: Gary Thorpe <gat7634@hotmail.com>
List: tech-perform
Date: 06/14/2002 21:13:06
>From: woods@weird.com (Greg A. Woods)
>Reply-To: tech-perform@NetBSD.ORG (NetBSD Performance Technical Discussion 
>List)
>To: NetBSD Performance Technical Discussion List <tech-perform@NetBSD.ORG>
>Subject: Re: Is the netBSD kernel Preemptible ?
>Date: Fri, 14 Jun 2002 20:25:12 -0400 (EDT)
>
[...]
>That's from "Multiprocessor UNIX Operating Systems" in the Oct. 1984
>edition of the BSTJ.
>
>They do say that I/O bound jobs don't do quite so well as CPU bound jobs
>(which with their state of the art were running at 1.7 times the
>throughput on a two-CPU system as on a single CPU system).  Still I'd
>like to see some numbers on modern hardware before I would go so far as
>to admit that MP-specific driver coding is really worth the effort.
>

In a very hyped "showdown" between Linux and Windows NT on web serving 
performance, Windows NT gained a great throughput advantage in the SMP 
configuration because Linux was unable to allow multiple threads to use the 
multiple network adapters in the machine very efficiently (unfortunately I 
have no links/references).

Apparently they fixed this, but what I think of is this: they had to 
basically "wait-and-see" to find out what parts were not taking advantage of 
SMP. Basically, there is such a large volume of code in a monolithic kernel 
to "fix", you cannot reasonably expect to catch even fairly important 
sections which need rewritting. Since NetBSD eventually hopes to become 
SMP-capable, what plans are there to prevent this?

>The driver entry points are obviously very well known by the kernel.
>They're identical for all drivers.  Even in *BSD this part of the device
>driver API is _very_ well defined.  The kernel really cannot call a
>driver routine that it doesn't already know about!

Do you mean: open(), read(), write(), ioctl(), etc? What about routines 
which are not for user-space, e.g. routines used by these access points to 
do the grunt work? Won't each driver need to lock/coordinate access?


_________________________________________________________________
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com