Re: [RFC][PATCH] spinlock: Kill spin_unlock_wait()
From: Jeff Garzik <hidden>
Date: 2011-01-07 21:13:59
Also in:
linux-ide, linux-scsi, lkml
On Fri, Jan 7, 2011 at 4:01 PM, Tejun Heo [off-list ref] wrote:
On Thu, Jan 06, 2011 at 07:26:35PM +0100, Peter Zijlstra wrote:quoted
Jeff, Tejun, could you look at the ata-eh thing, then I'll put sorting through the futex thing on my todo list.Hmm... I think the ->eng_timeout path is already dead. We no longer have any in-kernel implementation, so killing spin_unlock_wait() should be fine. I'll follow up with removal of the unused callback.
Unfortunately... libsas continues to avoid the new EH :(
It's a hairy mess to untangle, too. libata does proper error handling
of ATA device errors, notably NCQ error handling, which libsas sorely
misses. But libata new EH assumes a bit too much about "owning" the
entirety of the EH process. These assumptions are proper for wholly
ATA drivers (drivers/ata/*) where new EH can drive the EH process, but
in the SAS situation, a phy in SATA mode is simply a subset of a
larger set of EH conditions that must be handled.
Thus libsas uses the ancient libata hook ->phy_reset and lacks ->error_handler.
I think libata's old-EH path is entirely SAS-specific at this point.
Jeff
P.S. Note that libsas and ipr are peers; thus ipr driver also uses old EH.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html