Re: [PATCH V4 0/9] rework on the IRQ hardening of virtio
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2022-05-16 14:25:20
Also in:
lkml
On Mon, May 16, 2022 at 01:20:06PM +0200, Halil Pasic wrote:
On Thu, 12 May 2022 11:31:08 +0800 Jason Wang [off-list ref] wrote:quoted
quoted
quoted
It looks to me we need to use write_lock_irq()/write_unlock_irq() to do the synchronization. And we probably need to keep the read_lock_irqsave()/read_lock_irqrestore() logic since I can see the virtio_ccw_int_handler() to be called from process context (e.g from the io_subchannel_quiesce()).Sounds correct.As Cornelia and Vineeth pointed out, all the paths the vring_interrupt is called with irq disabled. So I will use spin_lock()/spin_unlock() in the next version.Can we do some sort of an assertion that if the kernel is built with the corresponding debug features will make sure this assumption holds (and warn if it does not)? That assertion would also document the fact.
Lockdep will do this automatically if you get it wrong, just like it did here.
If an assertion is not possible, I think we should at least place a strategic comment that documents our assumption.
That can't hurt.
Regards, Halilquoted
Thanks
_______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization