Messages in this thread | | | Subject | Re: [PATCH] blk-mq: put the reference of the io scheduler module after switching back | From | Yu Kuai <> | Date | Thu, 13 Oct 2022 21:22:41 +0800 |
| |
Hi,
在 2022/10/13 21:03, Jinlong Chen 写道: > Sorry for the disturbance. > > This patch is just wrong. elevator_switch_mq does not increase the reference > count of the io scheduler module to which we are switching. Hence, we do not > need to put the reference back manually.
I'm confused here, cause I do think this patch make sense.
blk_mq_update_nr_hw_queues // for each queue using the tagset blk_mq_freeze_queue // if current elevator is not none, swith to none blk_mq_elv_switch_none // elevator need to be switched back, got a reference to // prevent module to be removed. __module_get elevator_switch(q, NULL);
// switch back from none elevator blk_mq_elv_switch_back -> should release the module reference here blk_mq_unfreeze_queue
By the way, I do not test yet, but I think problem can be reporduced:
1. modprobe bfq 2. switch elevator to bfq 3. trigger blk_mq_update_nr_hw_queues 4. switch elevator to none 5. rmmod bfq will fail
Thanks, Kuai > > Sincerely > Jinlong Chen > . >
| |