Re: [PATCH RFC V2 0/3] blk-mq: support runtime PM

Bart Van Assche
2018-07-16T16:49:56Z

On Fri, 2018-07-13 at 20:54 -0600, Jens Axboe wrote:
> On 7/13/18 8:37 PM, Ming Lei wrote:
> > OK, I am thinking another idea for addressing this issue.
> >=20
> > We may introduce one logical admin(pm) request queue for each s=
csi_device,
> > and this queue shares tag with IO queue, with NO_SCHED set,=
and always
> > use atomic mode of the queue usage refcounter. Then we may send=
PM
> > command to device after the IO queue is frozen.
> >=20
> > Also PREEMPT_ONLY can be removed too in this way.
> >=20
> > Even in future, all pass-through commands may be sent to this a=
dmin queue.
> >=20
> > If no one objects, I will cook patches towards this direction.
>=20
> Yes, this seems like a fine idea. It's essentially the same as handli=
ng
> the enter differently, but the abstraction is nicer.

Hello Jens,

Why do you support the idea of removing the PREEMPT_ONLY flag? Are you
perhaps concerned about the performance impact of that flag for NVMe reques=
t
processing? If that is your concern and if it can be shown that the
processing of that flag has a measurable performance impact, how about usin=
g
jump labels to ensure that only request queues that need the PREEMPT_ON=
LY
flag pay the overhead of processing that flag? See also
Documentation/static-keys.txt.

Thanks,

Bart.