On Thu, Mar 24, 2011 at 05:57:17PM -0700, Dan Williams wrote: > I have been waiting for this issue to be raised. This was one of the > first items brought up in our internal reviews of the Linux driver. > Why does it still exist and what is the rationale for addressing it > incrementally?: > > Starting with simple locking and then scaling it is arguably easier > than unwinding a more complex locking scheme implemented too early in > the design phase. I don't care about the lock scalability. The problem with a global spinlock is that a lot of primitives that a driver needs need to block, and with a global spinlock that's almost impossible to handle, as you'd need to drop the lock, and have very little chance to figure out what state it actually protects that now needs to be re-checked. Things are a little better with a global sleeping lock as it allows you to block, as long as you don't actually plan to keep it over I/O. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html