linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Kernel v5.0-rc1 and blk-mq
@ 2019-01-07 21:21 Bart Van Assche
  2019-01-07 21:30 ` Bart Van Assche
  0 siblings, 1 reply; 2+ messages in thread
From: Bart Van Assche @ 2019-01-07 21:21 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-block, Logan Gunthorpe

Hi Jens,

When I tried to run the SRP tests from the blktests repository against the
v5.0 kernel several issues were reported. The same tests pass against kernel
v4.20.

WARNING: CPU: 0 PID: 262 at block/blk-mq.c:683 blk_mq_start_request+0x234/0x280
Modules linked in: ib_srp scsi_transport_srp target_core_pscsi target_core_file ib_srpt target_core_iblock target_core_mod rdma_cm iw_cm ib_cm scsi_debug rdma_rxe ip6_udp_tunnel udp_tunnel null_blk
dm_service_time ib_umad ib_uverbs ib_core mq_deadline kyber_iosched bfq scsi_dh_rdac scsi_dh_emc scsi_dh
ath crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 crypto_simd cryptd glue_helper joydev virtio_console virtio_balloon serio_raw qemu_fw_cfg iscsi_tcp libiscsi_tcp libiscsi
scsi_transport_iscsi ip_tables x_tables hid_generic usbhid hid psmouse virtio_net virtio_scsi net_failo
io_blk failover pata_acpi i2c_piix4 [last unloaded: null_blk]
==================================================================
sd 4:0:0:0: Power-on or device reset occurred
CPU: 0 PID: 262 Comm: kworker/0:1H Not tainted 5.0.0-rc1-dbg+ #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
Workqueue: kblockd blk_mq_run_work_fn
BUG: KASAN: null-ptr-deref in blk_mq_dispatch_rq_list+0x116/0xb10
RIP: 0010:blk_mq_start_request+0x234/0x280
Code: 01 e8 d0 d6 ad ff 85 c0 74 09 80 3d ec 2e b0 01 00 74 2c 65 ff 0d cc c7 97 7e 0f 85 53 fe ff ff e8 bc 11 96 ff e9 49 fe ff ff <0f> 0b e9 79 fe ff ff 0f 0b e9 2b fe ff ff 0f 0b e9 db fe ff ff e8
Read of size 8 at addr 0000000000000138 by task kworker/2:1H/350
RSP: 0018:ffff88811468fa88 EFLAGS: 00010202
CPU: 2 PID: 350 Comm: kworker/2:1H Not tainted 5.0.0-rc1-dbg+ #1
RAX: 0000000000000001 RBX: ffff888038c24c00 RCX: ffffffff816a1546
RDX: 0000000000000007 RSI: dffffc0000000000 RDI: ffff888038c24cd4
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
RBP: ffff88811468faa8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff88810b1124f0
Workqueue: kblockd blk_mq_run_work_fn
R13: ffff888038c24cd4 R14: ffff888038c24c1c R15: ffff88803ffe4400
Call Trace:
 dump_stack+0x86/0xca
FS:  0000000000000000(0000) GS:ffff88811b600000(0000) knlGS:0000000000000000
 ? blk_mq_dispatch_rq_list+0x116/0xb10
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 kasan_report.cold.3+0x5/0x3e
CR2: 0000565114f33710 CR3: 00000001140cc003 CR4: 00000000003606f0
 ? blk_mq_dispatch_rq_list+0x116/0xb10
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 __asan_load8+0x54/0x90
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
 blk_mq_dispatch_rq_list+0x116/0xb10
Call Trace:
 scsi_queue_rq+0x9d6/0x1360
 ? blk_mq_flush_busy_ctxs+0x172/0x380
 blk_mq_dispatch_rq_list+0x5fc/0xb10
 ? blk_mq_get_driver_tag+0x270/0x270
 ? blk_mq_flush_busy_ctxs+0x172/0x380
 ? mark_held_locks+0xb0/0xb0
 ? blk_mq_get_driver_tag+0x270/0x270
 blk_mq_sched_dispatch_requests+0x2f7/0x300
 ? mark_held_locks+0xb0/0xb0
 ? blk_mq_sched_restart+0x40/0x40
 blk_mq_sched_dispatch_requests+0x2f7/0x300
 ? rcu_dynticks_curr_cpu_in_eqs+0x4c/0x60
 ? blk_mq_sched_restart+0x40/0x40
 ? rcu_is_watching+0x10/0x30
 ? rcu_dynticks_curr_cpu_in_eqs+0x4c/0x60
 __blk_mq_run_hw_queue+0xd6/0x180
 ? rcu_is_watching+0x10/0x30
 ? blk_mq_end_request+0x210/0x210
 __blk_mq_run_hw_queue+0xd6/0x180
 blk_mq_run_work_fn+0x27/0x30
 ? blk_mq_end_request+0x210/0x210
 process_one_work+0x4ae/0xa20
 blk_mq_run_work_fn+0x27/0x30
 ? pwq_dec_nr_in_flight+0x130/0x130
 process_one_work+0x4ae/0xa20
 worker_thread+0x67/0x5b0
 ? pwq_dec_nr_in_flight+0x130/0x130
 kthread+0x1cf/0x1f0
 worker_thread+0x67/0x5b0
 ? process_one_work+0xa20/0xa20
 kthread+0x1cf/0x1f0
 ? kthread_create_on_node+0xa0/0xa0
 ? process_one_work+0xa20/0xa20
 ret_from_fork+0x24/0x30
 ? kthread_create_on_node+0xa0/0xa0
==================================================================
 ret_from_fork+0x24/0x30
Disabling lock debugging due to kernel taint
irq event stamp: 3962924
BUG: unable to handle kernel NULL pointer dereference at 0000000000000138
hardirqs last  enabled at (3962923): [<ffffffff811a18d3>] ktime_get+0xe3/0x120
hardirqs last disabled at (3962924): [<ffffffff81002859>] trace_hardirqs_off_thunk+0x1a/0x1c
#PF error: [normal kernel read fault]

Bart.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Kernel v5.0-rc1 and blk-mq
  2019-01-07 21:21 Kernel v5.0-rc1 and blk-mq Bart Van Assche
@ 2019-01-07 21:30 ` Bart Van Assche
  0 siblings, 0 replies; 2+ messages in thread
From: Bart Van Assche @ 2019-01-07 21:30 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-block, Logan Gunthorpe

On Mon, 2019-01-07 at 13:21 -0800, Bart Van Assche wrote:
> When I tried to run the SRP tests from the blktests repository against the
> v5.0 kernel several issues were reported. The same tests pass against kernel
> v4.20.

A correction: this was triggered by a new test ("Run sg_reset while I/O is ongoing").
Anyway, I don't think that such a test should trigger the following statement in
blk_mq_start_request():

	WARN_ON_ONCE(blk_mq_rq_state(rq) != MQ_RQ_IDLE);

A few kernel versions back I ran sg_reset manually while I/O was ongoing and that
test passed. So this test result may indicate an issue in the blk-mq request state
rework.

Bart.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-01-07 21:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-07 21:21 Kernel v5.0-rc1 and blk-mq Bart Van Assche
2019-01-07 21:30 ` Bart Van Assche

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).