Re: [PATCH] SCSI: don't do bogus retries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi James, Jens,

On Tue, 30 Sep 2008 09:46:38 -0500, James Bottomley wrote:
> On Tue, 2008-09-30 at 10:14 -0400, Kiyoshi Ueda wrote:
> > I think you should use blk_end_request(req, -EIO, blk_rq_bytes(rq))
> > here instead of end_dequeued_request(req, -EIO).
> > 
> > end_dequeued_request() needs to be called with queue lock held,
> > but I can't see any queue lock in your patches.
> > Also, if you add the queue lock and still use end_dequeued_request(),
> > __end_that_request_first(), which completes BIOs in the request,
> > is called with the queue lock held, though it doesn't require queue
> > lock actually.  So that might cause some performance regressions.
> 
> Yes, I was just getting around to noticing this.  Several other issues
> spring immediately to mind
> 
>      1. Why are there both end_dequeued_request and end_queued_request?
>         They both (by design since we tried to make the end cases the
>         same) do the same thing

They originally differed a little bit, but when blk_end_request
interfaces were introduced, they became exactly same:
    http://marc.info/?t=120008891100007&r=1&w=2

So I tried to kill them:
    http://marc.info/?t=120008891100007&r=1&w=2
But Jens suggested keep them for a while at the time.

Is it the time now to kill them, Jens?

Thanks,
Kiyoshi Ueda
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux