All of lore.kernel.org
 help / color / mirror / Atom feed
* Potential deadlock in vgic
@ 2018-05-04 11:03 ` Jan Glauber
  0 siblings, 0 replies; 22+ messages in thread
From: Jan Glauber @ 2018-05-04 11:03 UTC (permalink / raw)
  To: kvmarm; +Cc: Marc Zyngier, Christoffer Dall, linux-arm-kernel

Hi all,

enabling lockdep I see the following reported in the host when I start a kvm guest:

[12399.954245]        CPU0                    CPU1
[12399.958762]        ----                    ----
[12399.963279]   lock(&(&dist->lpi_list_lock)->rlock);
[12399.968146]                                local_irq_disable();
[12399.974052]                                lock(&(&vgic_cpu->ap_list_lock)->rlock);
[12399.981696]                                lock(&(&dist->lpi_list_lock)->rlock);
[12399.989081]   <Interrupt>
[12399.991688]     lock(&(&vgic_cpu->ap_list_lock)->rlock);
[12399.996989]
                *** DEADLOCK ***

[12400.002897] 2 locks held by qemu-system-aar/5597:
[12400.007587]  #0: 0000000042beb9dc (&vcpu->mutex){+.+.}, at: kvm_vcpu_ioctl+0x7c/0xa68
[12400.015411]  #1: 00000000c45d644a (&(&vgic_cpu->ap_list_lock)->rlock){-.-.}, at: kvm_vgic_sync_hwstate+0x8c/0x328


There is nothing unusual in my config or qemu parameters, I can upload these
if needed. I see this on ThunderX and ThunderX2 and also with older kernels
(4.13+ distribution kernel).

I tried making the lpi_list_lock irq safe but that just leads to different
warnings. The locking here seems to be quite sophisticated and I'm not familiar
with it.

Full dmesg: https://paste.ubuntu.com/p/BZ5QTg62Ym/

--Jan

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

end of thread, other threads:[~2018-05-15 11:54 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-04 11:03 Potential deadlock in vgic Jan Glauber
2018-05-04 11:03 ` Jan Glauber
2018-05-04 12:47 ` Christoffer Dall
2018-05-04 12:47   ` Christoffer Dall
2018-05-04 13:08   ` Jan Glauber
2018-05-04 13:08     ` Jan Glauber
2018-05-04 13:41     ` Marc Zyngier
2018-05-04 13:41       ` Marc Zyngier
2018-05-04 14:51     ` Andre Przywara
2018-05-04 14:51       ` Andre Przywara
2018-05-04 15:17     ` Andre Przywara
2018-05-04 15:17       ` Andre Przywara
2018-05-04 16:26       ` Jan Glauber
2018-05-04 16:26         ` Jan Glauber
2018-05-04 16:29         ` Andre Przywara
2018-05-04 16:29           ` Andre Przywara
2018-05-04 16:31       ` Jan Glauber
2018-05-04 16:31         ` Jan Glauber
2018-05-11 14:29         ` Andre Przywara
2018-05-11 14:29           ` Andre Przywara
2018-05-15 11:54           ` Jan Glauber
2018-05-15 11:54             ` Jan Glauber

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.