Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Apr 2001 01:38:14 -0300 (BRST)
From:      Rik van Riel <riel@conectiva.com.br>
To:        "E.B. Dreger" <eddy+public+spam@noc.everquick.net>
Cc:        Matt Dillon <dillon@earth.backplane.com>, Alfred Perlstein <bright@wintelcom.net>, Greg Lehey <grog@lemis.com>, "Justin T. Gibbs" <gibbs@scsiguy.com>, Doug Barton <DougB@DougBarton.net>, "current @ freebsd . org" <current@FreeBSD.ORG>
Subject:   Re: Kernel preemption, yes or no? (was: Filesystem gets a huge performance boost)
Message-ID:  <Pine.LNX.4.21.0104180136190.14442-100000@imladris.rielhome.conectiva>
In-Reply-To: <Pine.LNX.4.20.0104180312070.15456-100000@www.everquick.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 18 Apr 2001, E.B. Dreger wrote:

> For minimal CPU utilization, it would be nice skip task switching,
> period. Run something to completion, then go on to the next task.  
> Poll without ever using an interrupt.

[snip]

> Hence, my philosophy is that task switching and preemption are
> necessary evils because hardware does not perfectly accomodate
> software.  If we must, we must... otherwise, use co-op switching as
> the next best thing to straight run-to-completion.

Except that for the [extremely performance critical] interrupt
handlers the "software" is under control of the folks who write
the OS.

You need preemption for userspace because it's possibly "hostile"
software, but things like the interrupt handlers and the kernel
code are under your control ... this means you can code it to be
as efficient as possible without impacting latency too much.

regards,

Rik
--
Virtual memory is like a game you can't win;
However, without VM there's truly nothing to lose...

		http://www.surriel.com/
http://www.conectiva.com/	http://distro.conectiva.com.br/


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.21.0104180136190.14442-100000>