Thread (34 messages) 34 messages, 4 authors, 2022-05-17

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,
Halil
quoted
Thanks
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help