Article View: comp.sys.powerpc
Article #1868Re: Ask yourself these before you choosing a 32bit OS...
From: Tony Nelson
Date: Fri, 01 Sep 1995 05:44
Date: Fri, 01 Sep 1995 05:44
30 lines
2501 bytes
2501 bytes
I see some discussion here about "negligable preemtion / interrupt overhead".
On any CPU, interrupt processing requires a context switch (also required
for preemption and system services). In the old days, this required
simply the amount of time the CPU required to start the interrupt (and
finish it later) plus the instructions in the interrupt handler.
Nowadays the penalty for an interrupt is much greater, because of
processor caches (or rather, fast processors but memory at the same speed
as before). The context switch now requires flushing the cache, so the
processor will run slowly for a while as instructions are fetched from
"real memory". Not only will this slow down interrupt processing
(relative to the estimate from the number of instructions involved), it is
unpredictable. I estimate that processors are spending the same amount of
real time servicing interrupts as the did years ago, but I may be wrong --
it may take much longer now, due to cache flush and reload.
Deterministic real-time processing is difficult to do with interrupts.
You really can't tell when all the interrupts will stack up at the same
time, causing the lowest priority interrupt to wait a long time. Coupled
with the overhead of context switching, this makes interrupt-driven
programming impractical for device controllers (such as, say, a car or a
wheelchair). Polling with a heartbeat timer is used instead. The most
time-critical tasks are polled oftenest. Processing of different tasks is
distributed in time by spreading out the polling. Such systems can more
easily be proved to work, which is comforting for the person in the
wheelchair who is crossing a busy street.
____________________________________________________________________
TonyN.:' tonyn@tiac.net
'
Technical Details
Message-ID:
<tonyn-0109950144230001@tonyn.tiac.net>Path:
arc1-ca.pugleaf.net!tonyn.tiac.net!userReferences:
<3vh2hc$9dd@falcon.ccs.uwo.ca> <41frv1$7m4@usenet.ucs.indiana.edu> <41g14g$efj@bmtlh10.bnr.ca> <41itqp$4ij@usenet.ucs.indiana.edu> <id.69WM1.S73@nmti.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!tonyn.tiac.net!user From: tonyn@tiac.net (Tony Nelson) Newsgroups: comp.sys.powerpc,comp.os.linux.advocacy,comp.sys.mac.advocacy,comp.os.os2.advocacy,comp.sys.amiga.advocacy,comp.sys.intel,alt.2600,comp.os.ms-windows.advocacy Subject: Re: Ask yourself these before you choosing a 32bit OS... Date: Fri, 01 Sep 1995 01:44:23 -0400 Organization: The Internet Access Company Message-ID: <tonyn-0109950144230001@tonyn.tiac.net> References: <3vh2hc$9dd@falcon.ccs.uwo.ca> <41frv1$7m4@usenet.ucs.indiana.edu> <41g14g$efj@bmtlh10.bnr.ca> <41itqp$4ij@usenet.ucs.indiana.edu> <id.69WM1.S73@nmti.com> NNTP-Posting-Host: tonyn.tiac.net