On Wed, 2024-10-16 at 14:11 -0700, Bart Van Assche wrote: > > External email : Please do not click links or open attachments until > you have verified the sender or the content. > Use blk_mq_quiesce_tagset() instead of ufshcd_scsi_block_requests() > and blk_mq_wait_quiesce_done(). > > Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> > Hi Bart, Using blk_mq_quiesce_tagset instead of ufshcd_scsi_block_requests could cause issues. After the patch below was merged, Mediatek received three cases of IO hang. 77691af484e2 ("scsi: ufs: core: Quiesce request queues before checking pending cmds") I think this patch might need to be reverted first. Here is backtrace of IO hang. ppid=3952 pid=3952 D cpu=6 prio=120 wait=188s kworker/u16:0 vmlinux __synchronize_srcu() + 216 </proc/self/cwd/common/kernel/rcu/srcutree.c:1386> vmlinux synchronize_srcu() + 276 </proc/self/cwd/common/kernel/rcu/srcutree.c:0> vmlinux blk_mq_wait_quiesce_done() + 20 </proc/self/cwd/common/block/blk-mq.c:226> vmlinux blk_mq_quiesce_tagset() + 156 </proc/self/cwd/common/block/blk-mq.c:286> vmlinux ufshcd_clock_scaling_prepare(timeout_us=1000000) + 16 </proc/self/cwd/common/drivers/ufs/core/ufshcd.c:1276> vmlinux ufshcd_devfreq_scale() + 52 </proc/self/cwd/common/drivers/ufs/core/ufshcd.c:1322> vmlinux ufshcd_devfreq_target() + 384 </proc/self/cwd/common/drivers/ufs/core/ufshcd.c:1440> vmlinux devfreq_set_target(flags=0) + 184 </proc/self/cwd/common/drivers/devfreq/devfreq.c:363> vmlinux devfreq_update_target(freq=0) + 296 </proc/self/cwd/common/drivers/devfreq/devfreq.c:429> vmlinux update_devfreq() + 8 </proc/self/cwd/common/drivers/devfreq/devfreq.c:444> vmlinux devfreq_monitor() + 48 </proc/self/cwd/common/drivers/devfreq/devfreq.c:460> vmlinux process_one_work() + 476 </proc/self/cwd/common/kernel/workqueue.c:2643> vmlinux process_scheduled_works() + 580 </proc/self/cwd/common/kernel/workqueue.c:2717> vmlinux worker_thread() + 576 </proc/self/cwd/common/kernel/workqueue.c:2798> vmlinux kthread() + 272 </proc/self/cwd/common/kernel/kthread.c:388> vmlinux 0xFFFFFFE239A164EC() </proc/self/cwd/common/arch/arm64/kernel/entry.S:846> Thanks Peter