On 2/7/23 7:06?AM, Dan Carpenter wrote: > block/blk-mq.c:206 blk_freeze_queue() warn: sleeping in atomic context > rexmit_timer() <- disables preempt > -> aoedev_downdev() > -> blk_mq_freeze_queue() > -> blk_freeze_queue() That is definitely a legit bug, aoe should punt to a workqueue or similar. > block/blk-mq.c:4083 blk_mq_destroy_queue() warn: sleeping in atomic context > nvme_fc_match_disconn_ls() <- disables preempt > -> nvme_fc_ctrl_put() > -> nvme_fc_ctrl_free() > -> nvme_remove_admin_tag_set() > nvme_fc_ctrl_free() <duplicate> > -> nvme_remove_io_tag_set() > -> blk_mq_destroy_queue() Also looks like a legitimate bug. > block/blk-mq.c:2174 __blk_mq_run_hw_queue() warn: sleeping in atomic context > __blk_mq_run_hw_queue() <duplicate> > -> blk_mq_sched_dispatch_requests() > -> __blk_mq_sched_dispatch_requests() > -> blk_mq_do_dispatch_sched() > blk_mq_do_dispatch_sched() <duplicate> > -> __blk_mq_do_dispatch_sched() > -> blk_mq_dispatch_hctx_list() > __blk_mq_do_dispatch_sched() <duplicate> > __blk_mq_sched_dispatch_requests() <duplicate> > -> blk_mq_do_dispatch_ctx() > __blk_mq_sched_dispatch_requests() <duplicate> > -> blk_mq_dispatch_rq_list() > __blk_mq_do_dispatch_sched() <duplicate> > blk_mq_do_dispatch_ctx() <duplicate> > -> blk_mq_delay_run_hw_queues() > -> blk_mq_delay_run_hw_queue() This one I'm not really following... Would it be possible to expand the reporting to be a bit more verbose? > sg_remove_sfp_usercontext() <- disables preempt > block/blk-wbt.c:843 wbt_init() warn: sleeping in atomic context > ioc_qos_write() <- disables preempt > -> wbt_enable_default() > -> wbt_init() Also definitely a bug. -- Jens Axboe