Subject: | |
From: | |
Reply To: | |
Date: | Tue, 16 Sep 1997 15:46:22 -0400 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Bruce wrote :
[Some stuff deleted. Sorry, Bruce]
> The bug itself was a classic case of priority inversion. A
high-priority task with hard, real-time deadlines was blocked
by a low-priority task that was holding a shared resource.
It was an insidious, non-repeatablle failure that only
occurred when the low-priority task was preempted in a
10-15 instruction window. The fact that our data rates
are approximately eight times faster than anticipated, and
the amount of science now being done on Mars is propor-
tionally larger, exposed the bug... The configuration
of the system was changed so that when the lower-priority
task blocked, its priority was raised until it released
the shared resource.<<
Hmmmm that's exactly how the MPE process preemption scheme works in MPE. It
is able to temporarily boost the priority of the holder of a system resource
up to the priority of the requesting process. If my memory does not betray me
(aging is not a graceful process...), it was kinda rewritten in 3.0 for SMP,
fine-tuned in 4.0 (resulting in very nice memory dumps ... remember patch
FX74 !!!), and finally stabilized in 5.0 .
So ... could Nasa have borrowed some MPE code, just to save time and US
taxpayer's money ?
Just my $.02, from abroad.
If you find the present mesaage off topic, just discard it. Sorry for the
waste of bandwidth .
|
|
|