Re: [PATCH V2 1/2] blk-mq: init hctx sched after update ctx and hctx mapping

From: jianchao.wang
Date: Sun Aug 19 2018 - 21:29:37 EST


Hi Ming

On 08/17/2018 05:33 PM, Ming Lei wrote:
>> + /*
>> + * elevator_release will put it.
>> + */
>> + __module_get(q->elv_type->elevator_owner);
> I understand what elevator_release() frees is the 'ref-counter' got in
> elevator_get(), but who will be the counter-pair of the above __module_get()?


Sorry for my bad description.

The code path is:

elevator_release
-> elevator_put(e->type)
-> module_put(e->elevator_owner)

In normal elevator switch path, elevator_get will hold a reference counter of the
elevator_owner.
In this patch set, the elevator_type is saved directly. To prevent the io scheduler module
is removed, we need to hold a reference of the module.

Thanks
Jianchao