* Re: [RFC][PATCH] spinlock: Kill spin_unlock_wait() [not found] ` <20110107210152.GG7355@mtj.dyndns.org> @ 2011-01-07 21:13 ` Jeff Garzik 2011-01-07 21:33 ` Tejun Heo 0 siblings, 1 reply; 2+ messages in thread From: Jeff Garzik @ 2011-01-07 21:13 UTC (permalink / raw) To: Tejun Heo Cc: Peter Zijlstra, Nick Piggin, Linus Torvalds, Chris Mason, Frank Rowand, Ingo Molnar, Thomas Gleixner, Mike Galbraith, Oleg Nesterov, Paul Turner, Jens Axboe, Yong Zhang, linux-kernel, Jeremy Fitzhardinge, Linux-Arch, linux-scsi, IDE/ATA development list On Fri, Jan 7, 2011 at 4:01 PM, Tejun Heo <tj@kernel.org> wrote: > On Thu, Jan 06, 2011 at 07:26:35PM +0100, Peter Zijlstra wrote: >> 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 ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [RFC][PATCH] spinlock: Kill spin_unlock_wait() 2011-01-07 21:13 ` [RFC][PATCH] spinlock: Kill spin_unlock_wait() Jeff Garzik @ 2011-01-07 21:33 ` Tejun Heo 0 siblings, 0 replies; 2+ messages in thread From: Tejun Heo @ 2011-01-07 21:33 UTC (permalink / raw) To: Jeff Garzik Cc: Peter Zijlstra, Nick Piggin, Linus Torvalds, Chris Mason, Frank Rowand, Ingo Molnar, Thomas Gleixner, Mike Galbraith, Oleg Nesterov, Paul Turner, Jens Axboe, Yong Zhang, linux-kernel, Jeremy Fitzhardinge, Linux-Arch, linux-scsi, IDE/ATA development list Hello, Jeff. On Fri, Jan 07, 2011 at 04:13:53PM -0500, Jeff Garzik wrote: > > 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. Hmm... but they don't use ata_scsi_error() and ->eng_timeout() at all, no? We can't remove phy_reset() and need to keep the silly "if (->error_handler)" tests around but should be able to remove those from ata_scsi_error() and other EH routines, at least. Am I missing something? Thanks. -- tejun ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-01-07 21:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20101224122338.172750730@chello.nl>
[not found] ` <20101224123742.724459093@chello.nl>
[not found] ` <AANLkTikGBsh0-QTe9CA2gwDtwzpdMi+fbDsTEKiJAL0P@mail.gmail.com>
[not found] ` <1294054362.2016.74.camel@laptop>
[not found] ` <20110104064542.GF3402@amd>
[not found] ` <1294254867.2016.281.camel@laptop>
[not found] ` <AANLkTi=URmD1GYqp+PfVf6rc0tXvRnAQG808LMnBRgG1@mail.gmail.com>
[not found] ` <1294306353.2016.304.camel@laptop>
[not found] ` <20110106103841.GA3493@amd>
[not found] ` <1294338395.2016.381.camel@laptop>
[not found] ` <20110107210152.GG7355@mtj.dyndns.org>
2011-01-07 21:13 ` [RFC][PATCH] spinlock: Kill spin_unlock_wait() Jeff Garzik
2011-01-07 21:33 ` Tejun Heo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).