[lkml]   [2001]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [patch] 3Ware 64 bit locking issues
On Wed, Aug 22 2001, Jes Sorensen wrote:
> >>>>> "Adam" == Adam Radford <> writes:
> Adam> Thanks for flags type fix and redundant pushf/popf fix.
> Adam> Regarding your question about the error handling routines, the
> Adam> 3ware driver uses the new style scsi error handling, so looking
> Adam> through scsi_error.c, all calls to
> Adam> hostt->eh_abort_handler() and hostt->eh_host_reset_handler() are
> Adam> wrapped with a spin_lock_irqsave(&io_request_lock, flags) and
> Adam> spin_unlock_irqrestore(&io_request_lock, flags) so they should
> Adam> be okay.
> Hmm ok. However, since Jens is working on killing the io_request_lock
> so something will need to get done when that happens.
> Jens, what is the strategy for that?

Lots of the lower level hooks are done with io_request_lock required,
the only one I've killed so far is ->detect() and that was mainly
because it didn't fit with the new scheme (per-host locking, host not
inited at this time). IMO it was a mistake to ever grab io_request_lock
(or any other lock, for that matter) before calling into the lower
levels -- it's not very clean and it makes progressing to a better
locking structure harder.

Basically we want to move the locking down a notch, so the mid layer is
not responsible for providing reentrance protection for the low level
drivers. It will be painfull...

Jens Axboe

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:58    [W:0.068 / U:0.352 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site