SMP spin_lock...

From: Robert Dinse (nanook@eskimo.com)
Date: Mon Feb 14 2000 - 15:41:53 EST


     I wish there were an option to recover from spin_lock deadlock conditions,
when one times out, release the lock and get on with life or something. Yes, I
realize the potential for file or memory corruption exists, but file corruption
potential also exists when data cached and not yet written to disk is lost due
to the need to hard-boot the machine when it hangs in spin_lock hell, and
memory corruption might crash the machine, well it's going to lock up and die
otherwise anyway.

     And if that can't be done, at the very least a panic and reboot would be
preferable to infinite hang.

     I know this idea will offend purists, and I might feel differently if
there were any indication that the race conditions causing the hangs would ever
be rectified, but from my standpoint I'm just interested in getting the
hardware to run most of the time and at least recover if the software screws up
rather than waiting for a PO'd customer to page me so I can get up at 4am and
go boot the machine.

     On another note; I tried compiling 2.2.14 with SPIN_LOCK_DEBUG not defined
(in /usr/include/asm/spinlock.h) on a 4-CPU SS-10 just to see if perhaps it was
the debug spinlock routines themselves that might be broken. While the kernel
compiled fine, it printed booting Linux and then hung rather than booting up
completely. No other change other than undefining SPIN_LOCK_DEBUG was made.

     So however buggy the debug versions might be, it would appear the
non-debug versions don't work at all on Sparc-32 hardware.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Feb 15 2000 - 21:00:27 EST