Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared interrupts for virtqueues")

From: Mike Galbraith
Date: Mon Mar 27 2017 - 14:27:16 EST


On Mon, 2017-03-27 at 19:05 +0200, Christoph Hellwig wrote:
> Hi Mike,
>
> does the patch below fix that issue for you?

Thanks, I'll give it a go in the A.M.

BTW, WRT RT woes with $subject, I tried booting a generic kernel with
threadirqs, and bingo, same deal, just a bit more painful than for RT,
where there's no watchdog moaning accompanying the (preemptible) spin.

[ 28.346311] NMI watchdog: BUG: soft lockup - CPU#7 stuck for 22s! [kworker/7:1:108]
[ 28.347536] Modules linked in: virtio_rng(E) virtio_blk(E) virtio_console(E) ata_piix(E) qxl(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) ttm(E) ahci(E) libahci(E) drm(E) ehci_pci(E) uhci_hcd(E) ehci_hcd(E) usbcore(E) libata(E) virtio_pci(E) virtio_ring(E) virtio(E) 8139cp(E) floppy(E) mii(E) sg(E) scsi_mod(E) autofs4(E)
[ 28.351160] CPU: 7 PID: 108 Comm: kworker/7:1 Tainted: G E 4.11.0-default #30
[ 28.352085] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.1-0-g4adadbd-20161202_174313-build11a 04/01/2014
[ 28.353547] Workqueue: events control_work_handler [virtio_console]
[ 28.354450] task: ffff8802370d4440 task.stack: ffffc900010d8000
[ 28.355281] RIP: 0010:__send_control_msg+0xbd/0xd0 [virtio_console]
[ 28.356005] RSP: 0018:ffffc900010dbd20 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff10
[ 28.356987] RAX: 0000000000000000 RBX: ffff880231c31ec8 RCX: ffff880231cb1000
[ 28.357866] RDX: 0000000000000001 RSI: ffffc900010dbd2c RDI: ffff880234f87400
[ 28.358738] RBP: ffffc900010dbd78 R08: 0000000001080020 R09: ffffc900010dbd30
[ 28.359718] R10: ffff88023fdddc00 R11: ffffffffffffffc8 R12: ffff880234f87400
[ 28.360653] R13: ffff880231c31ea8 R14: 0000000000000001 R15: 0000000000000003
[ 28.361510] FS: 0000000000000000(0000) GS:ffff88023fdc0000(0000) knlGS:0000000000000000
[ 28.362433] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 28.363177] CR2: 00007f4da0f40000 CR3: 0000000001c09000 CR4: 00000000001406e0
[ 28.363994] Call Trace:
[ 28.364420] add_port+0x23f/0x3d0 [virtio_console]
[ 28.365094] ? _raw_spin_unlock_irqrestore+0x24/0x40
[ 28.365765] handle_control_message.constprop.32+0x2c2/0x2e0 [virtio_console]
[ 28.366622] control_work_handler+0x52/0xb7 [virtio_console]
[ 28.367291] process_one_work+0x15c/0x440
[ 28.367869] worker_thread+0x137/0x4b0
[ 28.368426] kthread+0x10c/0x140
[ 28.368921] ? process_one_work+0x440/0x440
[ 28.369477] ? kthread_create_on_node+0x40/0x40
[ 28.370067] ret_from_fork+0x2c/0x40
[ 28.370611] Code: 57 e1 48 83 c4 30 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 4c 89 e7 e8 03 93 f7 ff eb 0e 4c 89 e7 e8 89 84 f7 ff 84 c0 75 d1 f3 90 <48> 8d 75 b4 4c 89 e7 e8 57 91 f7 ff 48 85 c0 74 e1 eb bc 0f 1f