Re: [PATCH V3 7/8] block: allow to allocate req with REQF_PREEMPT when queue is preempt frozen

Bart Van Assche
2017-09-05T01:40:59Z

On Tue, 2017-09-05 at 00:08 +0800, Ming Lei wrote:
> On Mon, Sep 04, 2017 at 03:40:35PM +0000, Bart Van Assche wrote:
> > Have you considered to use the blk-mq "reserved request" mechanism to avoid
> > starvation of power management requests instead of making the block layer
> > even more complicated than it already is?
>
> reserved request is really a bad idea, that means the reserved request
> can't be used for normal I/O, we all know the request/tag space is
> precious, and some device has a quite small tag space, such as sata.
> This way will affect performance definitely.

Sorry but I'm neither convinced that reserving a request for power management
would be a bad idea nor that it would have a significant performance impact nor
that it would be complicated to implement. Have you noticed that the Linux ATA
implementation already reserves a request for internal use and thereby reduces
the queue depth from 32 to 31 (see also ATA_TAG_INTERNAL)? What I would like to
know if is whether the performance impact of reserving a request is more or less
than 1%.

Bart.