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

From: Mike Galbraith
Date: Wed Mar 29 2017 - 23:10:31 EST


On Wed, 2017-03-29 at 23:10 +0300, Michael S. Tsirkin wrote:

> Poking at this some more, I was able to reproduce at
> least some warnings. I still do not see a spin
> but is there a chance this helps your case too?

Well, it's down to one warning, clean on the way back up.

WRT spin, you should need do nothing more than boot with threadirqs,
that's 100% repeatable here in absolutely virgin source. Attaching
(obese enterprise-ish) config.

[ 174.147626] ------------[ cut here ]------------
[ 174.147640] WARNING: CPU: 7 PID: 339 at drivers/pci/msi.c:1251 pci_irq_vector+0xcb/0xe0
[ 174.147640] Modules linked in: dm_mod(E) fuse(E) ebtable_filter(E) ebtables(E) nf_log_ipv6(E) rpcsec_gss_krb5(E) xt_pkttype(E) nfsv4(E) nf_log_ipv4(E) nf_log_common(E) dns_resolver(E) xt_LOG(E) xt_limit(E) nfs(E) fscache(E) af_packet(E) iscsi_ibft(E) iscsi_boot_sysfs(E) ip6t_REJECT(E) xt_tcpudp(E) nf_conntrack_ipv6(E) nf_defrag_ipv6(E) ip6table_raw(E) ipt_REJECT(E) iptable_raw(E) xt_CT(E) iptable_filter(E) ip6table_mangle(E) nf_conntrack_netbios_ns(E) nf_conntrack_broadcast(E) nf_conntrack_ipv4(E) nf_defrag_ipv4(E) ip_tables(E) xt_conntrack(E) nf_conntrack(E) libcrc32c(E) ip6table_filter(E) ip6_tables(E) x_tables(E) snd_hda_codec_generic(E) snd_hda_intel(E) snd_hda_codec(E) joydev(E) snd_hda_core(E) snd_hwdep(E) snd_pcm(E) snd_timer(E) crct10dif_pclmul(E) snd(E) crc32_pclmul(E) ghash_clmulni_intel(E)
[ 174.147664] pcbc(E) soundcore(E) 8139too(E) aesni_intel(E) i2c_piix4(E) ppdev(E) aes_x86_64(E) virtio_balloon(E) crypto_simd(E) parport_pc(E) glue_helper(E) serio_raw(E) pcspkr(E) parport(E) cryptd(E) button(E) acpi_cpufreq(E) nfsd(E) auth_rpcgss(E) nfs_acl(E) lockd(E) grace(E) sunrpc(E) ext4(E) crc16(E) jbd2(E) mbcache(E) hid_generic(E) usbhid(E) sr_mod(E) cdrom(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_blk(E) virtio_rng(E) qxl(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) ehci_pci(E) sysimgblt(E) ahci(E) fb_sys_fops(E) libahci(E) ttm(E) uhci_hcd(E) ehci_hcd(E) virtio_pci(E) virtio_ring(E) drm(E) crc32c_intel(E) 8139cp(E) libata(E) usbcore(E) mii(E) virtio(E) floppy(E) sg(E) scsi_mod(E) autofs4(E)
[ 174.147702] CPU: 7 PID: 339 Comm: kworker/u16:3 Tainted: G E 4.11.0-default #2
[ 174.147702] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.1-0-g4adadbd-20161202_174313-build11a 04/01/2014
[ 174.147707] Workqueue: events_unbound async_run_entry_fn
[ 174.147708] Call Trace:
[ 174.147713] ? dump_stack+0x5c/0x85
[ 174.147718] ? __warn+0xc4/0xe0
[ 174.147721] ? pci_pm_poweroff+0xf0/0xf0
[ 174.147722] ? pci_irq_vector+0xcb/0xe0
[ 174.147725] ? vp_synchronize_vectors+0x3e/0x50 [virtio_pci]
[ 174.147727] ? virtcons_freeze+0x1f/0xa0 [virtio_console]
[ 174.147729] ? virtio_pci_freeze+0x19/0x40 [virtio_pci]
[ 174.147730] ? pci_pm_freeze+0x59/0xe0
[ 174.147737] ? dpm_run_callback+0x4d/0x170
[ 174.147738] ? __device_suspend+0x11f/0x3b0
[ 174.147739] ? pm_dev_dbg+0x70/0x70
[ 174.147739] ? async_suspend+0x1a/0x90
[ 174.147740] ? async_run_entry_fn+0x34/0x160
[ 174.147742] ? process_one_work+0x164/0x430
[ 174.147743] ? worker_thread+0x135/0x4d0
[ 174.147744] ? kthread+0xff/0x140
[ 174.147745] ? rescuer_thread+0x3c0/0x3c0
[ 174.147746] ? kthread_park+0x80/0x80
[ 174.147753] ? ret_from_fork+0x26/0x40
[ 174.147754] ---[ end trace 02cd3f1b527dc954 ]---

Attachment: config.xz
Description: application/xz