On Mon, May 16, 2022 at 10:25 PM Michael S. Tsirkin <mst@xxxxxxxxxx> wrote: > > On Mon, May 16, 2022 at 01:20:06PM +0200, Halil Pasic wrote: > > On Thu, 12 May 2022 11:31:08 +0800 > > Jason Wang <jasowang@xxxxxxxxxx> wrote: > > > > > > > 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. I will add some comments here. Thanks > > > Regards, > > Halil > > > > > > > > Thanks > _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization