[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220511160147.46cbf2fb.pasic@linux.ibm.com>
Date: Wed, 11 May 2022 16:01:47 +0200
From: Halil Pasic <pasic@...ux.ibm.com>
To: Jason Wang <jasowang@...hat.com>
Cc: Cornelia Huck <cohuck@...hat.com>, mst <mst@...hat.com>,
virtualization <virtualization@...ts.linux-foundation.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
"Paul E. McKenney" <paulmck@...nel.org>,
Marc Zyngier <maz@...nel.org>, eperezma <eperezma@...hat.com>,
Cindy Lu <lulu@...hat.com>,
Stefano Garzarella <sgarzare@...hat.com>,
Xuan Zhuo <xuanzhuo@...ux.alibaba.com>,
Halil Pasic <pasic@...ux.ibm.com>
Subject: Re: [PATCH V4 0/9] rework on the IRQ hardening of virtio
On Wed, 11 May 2022 10:22:59 +0800
Jason Wang <jasowang@...hat.com> wrote:
> > CPU0
> > ----
> > lock(&vcdev->irq_lock);
> > <Interrupt>
> > lock(&vcdev->irq_lock);
> >
> > *** DEADLOCK ***
>
> 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.
Regards,
Halil
Powered by blists - more mailing lists