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.