Re: [PATCH] libata error handling fixes (ATAPI)

From: Jeff Garzik
Date: Wed Nov 16 2005 - 08:23:49 EST


Jens Axboe wrote:
On Wed, Nov 16 2005, Jeff Garzik wrote:

Jens Axboe wrote:

I updated that patch, and converted IDE and SCSI to use it. See the
results here:

http://brick.kernel.dk/git/?p=linux-2.6-block.git;a=shortlog;h=blk-softirq

The main change from the version posted last october is killing the
'slightly' overdesigned completion queue hashing.

Nifty, I like. Comments:

* use of spin_lock_irq() in all completion paths now makes me nervous.


Should be fine from the paths originating from blk_done_softirq(), as we
know interrupts are enabled in the first place. But generally I agree,
whenever in doubt always always use the irq saving variants.


* certainly it's what SCSI does now, but is a softirq really necessary? Using a tasklet would kill all that per-cpu code, and notifier.


It would work fine with a tasklet of course, but it's going to generate
a _lot_ of traffic on io busy systems so I felt a dedicated softirq was
the way to go.

fair enough. ACK.

Jeff



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/