Re: [PATCH 07/12] dm: Use BLK_MQ_S_STOPPED instead of QUEUE_FLAG_STOPPED in blk-mq code
On Wed, Oct 26 2016 at 6:54pm -0400, Bart Van Assche wrote: > Instead of manipulating both QUEUE_FLAG_STOPPED and BLK_MQ_S_STOPPED > in the dm start and stop queue functions, only manipulate the latter > flag. Change blk_queue_stopped() tests into blk_mq_queue_stopped(). > > Signed-off-by: Bart Van Assche > Reviewed-by: Christoph Hellwig > Cc: Mike Snitzer Acked-by: Mike Snitzer -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 07/12] dm: Use BLK_MQ_S_STOPPED instead of QUEUE_FLAG_STOPPED in blk-mq code
On Wed, Oct 26, 2016 at 03:54:07PM -0700, Bart Van Assche wrote: > Instead of manipulating both QUEUE_FLAG_STOPPED and BLK_MQ_S_STOPPED > in the dm start and stop queue functions, only manipulate the latter > flag. Change blk_queue_stopped() tests into blk_mq_queue_stopped(). > > Signed-off-by: Bart Van Assche > Reviewed-by: Christoph Hellwig Looks good, Reviewed-by: Johannes Thumshirn -- Johannes Thumshirn Storage jthumsh...@suse.de+49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 07/12] dm: Use BLK_MQ_S_STOPPED instead of QUEUE_FLAG_STOPPED in blk-mq code
On 10/27/2016 12:54 AM, Bart Van Assche wrote: > Instead of manipulating both QUEUE_FLAG_STOPPED and BLK_MQ_S_STOPPED > in the dm start and stop queue functions, only manipulate the latter > flag. Change blk_queue_stopped() tests into blk_mq_queue_stopped(). > > Signed-off-by: Bart Van Assche > Reviewed-by: Christoph Hellwig > Cc: Mike Snitzer > --- > drivers/md/dm-rq.c | 18 ++ > 1 file changed, 2 insertions(+), 16 deletions(-) > > diff --git a/drivers/md/dm-rq.c b/drivers/md/dm-rq.c > index fbd37b4..d47a504 100644 > --- a/drivers/md/dm-rq.c > +++ b/drivers/md/dm-rq.c > @@ -75,12 +75,6 @@ static void dm_old_start_queue(struct request_queue *q) > > static void dm_mq_start_queue(struct request_queue *q) > { > - unsigned long flags; > - > - spin_lock_irqsave(q->queue_lock, flags); > - queue_flag_clear(QUEUE_FLAG_STOPPED, q); > - spin_unlock_irqrestore(q->queue_lock, flags); > - > blk_mq_start_stopped_hw_queues(q, true); > blk_mq_kick_requeue_list(q); > } > @@ -105,16 +99,8 @@ static void dm_old_stop_queue(struct request_queue *q) > > static void dm_mq_stop_queue(struct request_queue *q) > { > - unsigned long flags; > - > - spin_lock_irqsave(q->queue_lock, flags); > - if (blk_queue_stopped(q)) { > - spin_unlock_irqrestore(q->queue_lock, flags); > + if (blk_mq_queue_stopped(q)) > return; > - } > - > - queue_flag_set(QUEUE_FLAG_STOPPED, q); > - spin_unlock_irqrestore(q->queue_lock, flags); > > /* Avoid that requeuing could restart the queue. */ > blk_mq_cancel_requeue_work(q); > @@ -341,7 +327,7 @@ static void __dm_mq_kick_requeue_list(struct > request_queue *q, unsigned long mse > unsigned long flags; > > spin_lock_irqsave(q->queue_lock, flags); > - if (!blk_queue_stopped(q)) > + if (!blk_mq_queue_stopped(q)) > blk_mq_delay_kick_requeue_list(q, msecs); > spin_unlock_irqrestore(q->queue_lock, flags); > } > Ah. Right. That answers my previous question. Reviewed-by: Hannes Reinecke Cheers, Hannes -- Dr. Hannes ReineckeTeamlead Storage & Networking h...@suse.de +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 07/12] dm: Use BLK_MQ_S_STOPPED instead of QUEUE_FLAG_STOPPED in blk-mq code
Instead of manipulating both QUEUE_FLAG_STOPPED and BLK_MQ_S_STOPPED in the dm start and stop queue functions, only manipulate the latter flag. Change blk_queue_stopped() tests into blk_mq_queue_stopped(). Signed-off-by: Bart Van Assche Reviewed-by: Christoph Hellwig Cc: Mike Snitzer --- drivers/md/dm-rq.c | 18 ++ 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/drivers/md/dm-rq.c b/drivers/md/dm-rq.c index fbd37b4..d47a504 100644 --- a/drivers/md/dm-rq.c +++ b/drivers/md/dm-rq.c @@ -75,12 +75,6 @@ static void dm_old_start_queue(struct request_queue *q) static void dm_mq_start_queue(struct request_queue *q) { - unsigned long flags; - - spin_lock_irqsave(q->queue_lock, flags); - queue_flag_clear(QUEUE_FLAG_STOPPED, q); - spin_unlock_irqrestore(q->queue_lock, flags); - blk_mq_start_stopped_hw_queues(q, true); blk_mq_kick_requeue_list(q); } @@ -105,16 +99,8 @@ static void dm_old_stop_queue(struct request_queue *q) static void dm_mq_stop_queue(struct request_queue *q) { - unsigned long flags; - - spin_lock_irqsave(q->queue_lock, flags); - if (blk_queue_stopped(q)) { - spin_unlock_irqrestore(q->queue_lock, flags); + if (blk_mq_queue_stopped(q)) return; - } - - queue_flag_set(QUEUE_FLAG_STOPPED, q); - spin_unlock_irqrestore(q->queue_lock, flags); /* Avoid that requeuing could restart the queue. */ blk_mq_cancel_requeue_work(q); @@ -341,7 +327,7 @@ static void __dm_mq_kick_requeue_list(struct request_queue *q, unsigned long mse unsigned long flags; spin_lock_irqsave(q->queue_lock, flags); - if (!blk_queue_stopped(q)) + if (!blk_mq_queue_stopped(q)) blk_mq_delay_kick_requeue_list(q, msecs); spin_unlock_irqrestore(q->queue_lock, flags); } -- 2.10.1 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html