[comp.os.minix] Lockup problems

ugkamins@marvin.cs.buffalo.edu (Dr. R. Chandra) (10/08/89)

Hi ho.  I am an occasional reader of c.o.m.  I have recently read of
the problems with the system hanging due (presumably) to race
conditions in whipping messages between the system parts.  One problem
mentioned was messages getting overwritten.

I suggest a solution of message lists, much like the Amiga kernel's
message ports.  If a message is sent, and there already exists a
message waiting, it is simply added (perhaps in a prioritized order,
like I believe happens in the Amiga implementation) to the list (in
FIFO order on equal priorities).

I might also mention, I would get intermittent lockups due to
interrupt messages getting bungled from an AT hard disk.  It's the
only thing I can think of.  The Winchester task seems to be waiting
for a message from an interrupt which is either never received or
never generated.  One debug I added to the kernel gave me the status
of the controller which indicated data was still waiting to be moved
in or out (don't know which) of the sector buffer.  Mind you this was
under 1.1, but the problem seems to be related to the message handling
scheme.
-- 
---
We can only contemplate the facts as we are able to perceive them.
Do we get what we deserve, or deserve what we get?
"I've seen yellow STRIPES in the middle of the road before, kids, but, ah,
  never quite this WIDE!"  -- Tom "T-bone" Stankus
ugkamins@sunybcs.UUCP  (UnderGraduate john i. KAMINSki)