Re: [PATCH 3/3] blk-mq: Fix the queue freezing mechanism

From: Bart Van Assche
Date: Thu Sep 24 2015 - 15:06:20 EST


On 09/23/2015 08:23 PM, Ming Lei wrote:
> One solution I thought of is the following patch, which depends on
> Akinobu's patch (blk-mq: fix freeze queue race
> http://marc.info/?l=linux-kernel&m=143723697010781&w=2).

Has that patch been tested against a debug kernel ? The following call
trace is triggered by that patch:

WARNING: CPU: 3 PID: 200 at kernel/sched/core.c:7485 __might_sleep+0x77/0x80()
do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffff810b4593>] prepare_to_wait_event+0x63/0xf0
Modules linked in: ib_srp(O) scsi_transport_srp(O) netconsole configfs af_packet msr sg coretemp x86_pkg_temp_thermal crct10dif_pclmul crc32c_intel aesni_intel aes_x86_64 glue_helper lrw gf128mul ipmi_devintf ablk_helper cryptd tg3 lpc_ich microcode pcspkr libphy mfd_core ipmi_si ipmi_msghandler ib_ipoib rdma_ucm ib_ucm ib_uverbs ib_umad dm_multipath dm_mod rdma_cm ib_cm acpi_power_meter hwmon iw_cm processor button wmi ext4 crc16 mbcache jbd2 mlx4_ib mlx4_en ib_sa ptp pps_core ib_mad ib_core ib_addr sd_mod sr_mod cdrom hid_generic usbhid hid ahci libahci libata ehci_pci ehci_hcd mlx4_core usbcore usb_common scsi_mod autofs4 [last unloaded: brd]
CPU: 3 PID: 200 Comm: kworker/u16:9 Tainted: G O 4.3.0-rc2-debug+ #1
Hardware name: Dell Inc. PowerEdge R430/03XKDV, BIOS 1.0.2 11/17/2014
Workqueue: events_unbound async_run_entry_fn
Call Trace:
[<ffffffff81288603>] dump_stack+0x4b/0x68
[<ffffffff810725c6>] warn_slowpath_common+0x86/0xc0
[<ffffffff8107264c>] warn_slowpath_fmt+0x4c/0x50
[<ffffffff810b4593>] ? prepare_to_wait_event+0x63/0xf0
[<ffffffff810b4593>] ? prepare_to_wait_event+0x63/0xf0
[<ffffffff81099e47>] __might_sleep+0x77/0x80
[<ffffffff814f20a3>] mutex_lock_nested+0x33/0x3b0
[<ffffffff810ba11d>] ? trace_hardirqs_on+0xd/0x10
[<ffffffff810b45c5>] ? prepare_to_wait_event+0x95/0xf0
[<ffffffff812725fa>] blk_mq_queue_enter+0x17a/0x2d0
[<ffffffff812724b3>] ? blk_mq_queue_enter+0x33/0x2d0
[<ffffffff810b4620>] ? prepare_to_wait_event+0xf0/0xf0
[<ffffffff8127368e>] blk_mq_map_request+0x2e/0x330
[<ffffffff810b82e9>] ? __lock_is_held+0x49/0x70
[<ffffffff81274941>] blk_sq_make_request+0x91/0x430
[ ... ]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/