On 03/20/2017 04:39 PM, Christoph Hellwig wrote:
> @@ -1534,7 +1529,36 @@ static blk_qc_t blk_mq_make_request(struct 
> request_queue *q, struct bio *bio)
>       }
>  
>       plug = current->plug;
> -     if (((plug && !blk_queue_nomerges(q)) || is_sync)) {
> +     if (plug && q->nr_hw_queues == 1) {
> +             [ ... ]
> +     } else if (((plug && !blk_queue_nomerges(q)) || is_sync)) {
>               struct request *old_rq = NULL;
>  
>               blk_mq_bio_to_request(rq, bio);

I think this patch will change the behavior for the plug == NULL &&
q->nr_hw_queues == 1 && is_sync case: with this patch applied the code
under "else if" will be executed for that case but that wasn't the case
before this patch.

Bart.

Reply via email to