Thread (9 messages) 9 messages, 6 authors, 2011-01-07

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help