Bug Report: can't unload nvme module in case of disabled device
Keith Busch
keith.busch at intel.com
Thu Aug 10 09:45:36 PDT 2017
On Tue, Aug 01, 2017 at 03:58:10PM +0300, Max Gurtovoy wrote:
> Hi all,
>
> I would like to report a bug that reproduced by the following steps (I'm
> using 4.13.0-rc3+):
>
> 1. modprobe nvme
> 2. echo 0 > /sys/block/nvme0n1/device/device/enable
> 3. nvme list (stuck for more than 1-2 mins)
> 4. modprobe -r nvme (stuck forever)
>
> log:
>
> [ 1342.388888] nvme nvme0: controller is down; will reset: CSTS=0x3,
> PCI_STATUS=0x10
> [ 1476.021392] INFO: task kworker/u98:1:436 blocked for more than 120
> seconds.
> [ 1476.029072] Not tainted 4.13.0-rc3+ #19
> [ 1476.033878] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
> this message.
> [ 1476.042505] kworker/u98:1 D 0 436 2 0x00000000
> [ 1476.048569] Workqueue: nvme-wq nvme_reset_work [nvme]
> [ 1476.054133] Call Trace:
> [ 1476.056862] __schedule+0x1dc/0x780
> [ 1476.060706] schedule+0x36/0x80
> [ 1476.064180] blk_mq_freeze_queue_wait+0x4b/0xb0
> [ 1476.069175] ? remove_wait_queue+0x60/0x60
> [ 1476.073693] nvme_wait_freeze+0x33/0x50 [nvme_core]
> [ 1476.079068] nvme_reset_work+0x6b9/0xc40 [nvme]
> [ 1476.084075] ? __switch_to+0x23e/0x4a0
> [ 1476.088209] process_one_work+0x149/0x360
> [ 1476.092625] worker_thread+0x4d/0x3c0
> [ 1476.096692] kthread+0x109/0x140
> [ 1476.100247] ? rescuer_thread+0x380/0x380
> [ 1476.104664] ? kthread_park+0x60/0x60
> [ 1476.108698] ret_from_fork+0x25/0x30
This looks like a path does not pair the freeze start with the reset's
freeze wait. I'll have to see what the pci 'enable' sysfs entry does.
More information about the Linux-nvme
mailing list