Date: Wed, 18 Apr 2001 03:23:34 +0000 (GMT) From: "E.B. Dreger" <eddy+public+spam@noc.everquick.net> To: Rik van Riel <riel@conectiva.com.br> 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.20.0104180312070.15456-100000@www.everquick.net> In-Reply-To: <Pine.LNX.4.21.0104180002340.14442-100000@imladris.rielhome.conectiva>
next in thread | previous in thread | raw e-mail | index | archive | help
Going back to basic principles: 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. The problem is that latency becomes totally unacceptable. So now let's go to the other extreme: Create a Transputer-like array with hundreds of 65xx-complexity CPUs. Each atomic task runs on its own private CPU. The problem is that the electronics become a pain, and are often idle. When too many tasks are launched, we run out of CPU power. The compromise is to switch tasks on whatever CPU power is available... balancing switching overhead with latency. *Let the latency be as high as is acceptable to reduce overhead as low as is practical.* 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. Eddy --------------------------------------------------------------------------- Brotsman & Dreger, Inc. EverQuick Internet / EternalCommerce Division Phone: (316) 794-8922 --------------------------------------------------------------------------- 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.20.0104180312070.15456-100000>