Re: [PATCH V5 9/9] SCSI: don't hold device refcount in IO path

2019-04-15 Thread Martin K. Petersen
Ming, > This patch doesn't depend on patch 1~8, so please take it via scsi > tree if you are fine. Applied, thanks! -- Martin K. Petersen Oracle Linux Engineering

Re: [PATCH V5 9/9] SCSI: don't hold device refcount in IO path

2019-04-13 Thread Ming Lei
On Sat, Apr 13, 2019 at 2:57 PM Ming Lei wrote: > > On Fri, Apr 12, 2019 at 08:04:40PM -0400, Martin K. Petersen wrote: > > > > Ming, > > > > > scsi_device's refcount is always grabbed in IO path. > > > > > > Turns out it isn't necessary, because blk_queue_cleanup() will > > > drain any in-flight

Re: [PATCH V5 9/9] SCSI: don't hold device refcount in IO path

2019-04-12 Thread Ming Lei
On Fri, Apr 12, 2019 at 08:04:40PM -0400, Martin K. Petersen wrote: > > Ming, > > > scsi_device's refcount is always grabbed in IO path. > > > > Turns out it isn't necessary, because blk_queue_cleanup() will > > drain any in-flight IOs, then cancel timeout/requeue work, and > > SCSI's requeue_wor

Re: [PATCH V5 9/9] SCSI: don't hold device refcount in IO path

2019-04-12 Thread Martin K. Petersen
Ming, > scsi_device's refcount is always grabbed in IO path. > > Turns out it isn't necessary, because blk_queue_cleanup() will > drain any in-flight IOs, then cancel timeout/requeue work, and > SCSI's requeue_work is canceled too in __scsi_remove_device(). > > Also scsi_device won't go away unt

Re: [PATCH V5 9/9] SCSI: don't hold device refcount in IO path

2019-04-12 Thread Hannes Reinecke
On 4/12/19 5:30 AM, Ming Lei wrote: scsi_device's refcount is always grabbed in IO path. Turns out it isn't necessary, because blk_queue_cleanup() will drain any in-flight IOs, then cancel timeout/requeue work, and SCSI's requeue_work is canceled too in __scsi_remove_device(). Also scsi_device

[PATCH V5 9/9] SCSI: don't hold device refcount in IO path

2019-04-11 Thread Ming Lei
scsi_device's refcount is always grabbed in IO path. Turns out it isn't necessary, because blk_queue_cleanup() will drain any in-flight IOs, then cancel timeout/requeue work, and SCSI's requeue_work is canceled too in __scsi_remove_device(). Also scsi_device won't go away until blk_cleanup_queue(