Re: uninterruptible sleep lockups

From: Chris Friesen
Date: Tue Feb 22 2005 - 18:23:32 EST


linux-os wrote:

Now, somebody needs a resource. It executes down(&semaphore);
once it gets control again, it has that resource. It attempts
to use that resource through a driver. The driver waits forever.
The resource is now permanently dorked --forever because its
driver is waiting forever. The user code never returns from
the driver so it can never execute up(&semaphore).

What about something like a "robust mutex" (in OSDL terminology)? The guy holding it too long gets killed, and the mutex gets marked as dirty. The next guy to aquire the mutex is responsable for re-initializing the resource (resetting the device to a known state, for instance).

Chris

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