[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <3A304788-D796-4F7F-87A6-1AD1A3448598@unimore.it>
Date: Tue, 3 Nov 2015 10:02:28 +0100
From: Paolo Valente <paolo.valente@...more.it>
To: Jens Axboe <axboe@...com>
Cc: Matias Bjørling <m@...rling.me>,
Arianna Avanzini <avanzini@...gle.com>,
Akinobu Mita <akinobu.mita@...il.com>,
"Luis R. Rodriguez" <mcgrof@...e.com>,
Ming Lei <ming.lei@...onical.com>,
Mike Krinkin <krinkin.m.u@...il.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH BUGFIX 2/3] null_blk: guarantee device restart in all irq modes
Il giorno 02/nov/2015, alle ore 17:25, Jens Axboe <axboe@...com> ha scritto:
> On 11/02/2015 07:31 AM, Paolo Valente wrote:
>> From: Arianna Avanzini <avanzini@...gle.com>
>>
>> In single-queue (block layer) mode,the function null_rq_prep_fn stops
>> the device if alloc_cmd fails. Then, once stopped, the device must be
>> restarted on the next command completion, so that the request(s) for
>> which alloc_cmd failed can be requeued. Otherwise the device hangs.
>>
>> Unfortunately, device restart is currently performed only for delayed
>> completions, i.e., in irqmode==2. This fact causes hangs, for the
>> above reasons, with the other irqmodes in combination with single-queue
>> block layer.
>>
>> This commits addresses this issue by making sure that, if stopped, the
>> device is properly restarted for all irqmodes on completions.
>
> This looks good. I did a double take at the removal of the q->mq_ops check before blk_queue_stopped(), but we can't get there in MQ mode. Perhaps a comment would be warranted for that, the ->mq_ops check served as a bit of documentation for that before.
>
Honestly, I removed that additional check by mistake. I will put it back in the next version of this patchset, once (and if) I have the green light on patch 1/3.
Thanks,
Paolo
> --
> Jens Axboe
>
--
Paolo Valente
Algogroup
Dipartimento di Fisica, Informatica e Matematica
Via Campi, 213/B
41125 Modena - Italy
homepage: http://algogroup.unimore.it/people/paolo/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists