From: Cornelia Huck <cohuck@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: Peter Oberparleiter <oberpar@linux.ibm.com>,
Cindy Lu <lulu@redhat.com>,
"Paul E. McKenney" <paulmck@kernel.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Marc Zyngier <maz@kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
virtualization <virtualization@lists.linux-foundation.org>,
Halil Pasic <pasic@linux.ibm.com>, eperezma <eperezma@redhat.com>,
Vineeth Vijayan <vneethv@linux.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH V4 6/9] virtio-ccw: implement synchronize_cbs()
Date: Wed, 11 May 2022 11:13:06 +0200 [thread overview]
Message-ID: <87lev8bffh.fsf@redhat.com> (raw)
In-Reply-To: <CACGkMEtPk9P4KhJ5wTOLj9CZoKDx9-X_5uLRVBag692x4s9SrA@mail.gmail.com>
On Wed, May 11 2022, Jason Wang <jasowang@redhat.com> wrote:
> On Wed, May 11, 2022 at 4:17 PM Cornelia Huck <cohuck@redhat.com> wrote:
>>
>> On Wed, May 11 2022, Jason Wang <jasowang@redhat.com> wrote:
>>
>> > On Tue, May 10, 2022 at 7:28 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>> >>
>> >> On Sat, May 07, 2022 at 03:19:51PM +0800, Jason Wang wrote:
>> >> > @@ -1106,6 +1130,7 @@ static void virtio_ccw_int_handler(struct ccw_device *cdev,
>> >> > vcdev->err = -EIO;
>> >> > }
>> >> > virtio_ccw_check_activity(vcdev, activity);
>> >> > + read_lock_irqsave(&vcdev->irq_lock, flags);
>> >> > for_each_set_bit(i, indicators(vcdev),
>> >> > sizeof(*indicators(vcdev)) * BITS_PER_BYTE) {
>> >> > /* The bit clear must happen before the vring kick. */
>> >>
>> >> Cornelia sent a lockdep trace on this.
>> >>
>> >> Basically I think this gets the irqsave/restore logic wrong.
>> >> It attempts to disable irqs in the handler (which is an interrupt
>> >> anyway).
>> >
>> > The reason I use irqsave/restore is that it can be called from process
>> > context (if I was not wrong), e.g from io_subchannel_quiesce().
>>
>> io_subchannel_quiesce() should disable interrupts, though? Otherwise, it
>> would be a bug.
>
> Right, it was protected by a spin_lock_irq(), but I can see other
> cdev->handler() in e.g device_fsm.c, the irq status is not obvious, do
> they have the same assumption which IRQ is disabled?
Yes, that should be the case for any invocations via the fsm as well.
It's been some time since I've worked on that part of the code, though,
so let's cc: the s390 cio maintainers so that they can speak up if I'm
wrong.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
next prev parent reply other threads:[~2022-05-11 9:13 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-07 7:19 [PATCH V4 0/9] rework on the IRQ hardening of virtio Jason Wang
2022-05-07 7:19 ` [PATCH V4 1/9] virtio: use virtio_device_ready() in virtio_device_restore() Jason Wang
2022-05-09 15:22 ` Cornelia Huck
2022-05-10 1:50 ` Jason Wang
2022-05-07 7:19 ` [PATCH V4 2/9] virtio: use virtio_reset_device() when possible Jason Wang
2022-05-07 7:19 ` [PATCH V4 3/9] virtio: introduce config op to synchronize vring callbacks Jason Wang
2022-05-09 15:24 ` Cornelia Huck
2022-05-07 7:19 ` [PATCH V4 4/9] virtio-pci: implement synchronize_cbs() Jason Wang
2022-05-09 15:26 ` Cornelia Huck
2022-05-07 7:19 ` [PATCH V4 5/9] virtio-mmio: " Jason Wang
2022-05-09 15:34 ` Cornelia Huck
2022-05-07 7:19 ` [PATCH V4 6/9] virtio-ccw: " Jason Wang
2022-05-10 11:27 ` Michael S. Tsirkin
2022-05-11 2:41 ` Jason Wang
2022-05-11 8:17 ` Cornelia Huck
2022-05-11 8:58 ` Jason Wang
2022-05-11 9:13 ` Cornelia Huck [this message]
2022-05-11 9:28 ` Jason Wang
[not found] ` <YnvNmtPgip5knLHP@tuxmaker.boeblingen.de.ibm.com>
2022-05-12 3:29 ` Jason Wang
2022-05-07 7:19 ` [PATCH V4 7/9] virtio: allow to unbreak virtqueue Jason Wang
2022-05-07 7:19 ` [PATCH V4 8/9] virtio: harden vring IRQ Jason Wang
2022-05-10 11:32 ` Michael S. Tsirkin
2022-05-11 2:40 ` Jason Wang
2022-05-11 8:44 ` Cornelia Huck
2022-05-11 9:27 ` Jason Wang
2022-05-11 12:49 ` Halil Pasic
2022-05-12 3:27 ` Jason Wang
2022-05-07 7:19 ` [PATCH V4 9/9] virtio: use WARN_ON() to warning illegal status value Jason Wang
2022-05-10 9:29 ` [PATCH V4 0/9] rework on the IRQ hardening of virtio Cornelia Huck
2022-05-11 2:22 ` Jason Wang
2022-05-11 14:01 ` Halil Pasic
2022-05-12 3:31 ` Jason Wang
2022-05-16 11:20 ` Halil Pasic
2022-05-16 14:25 ` Michael S. Tsirkin
2022-05-17 1:00 ` Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87lev8bffh.fsf@redhat.com \
--to=cohuck@redhat.com \
--cc=eperezma@redhat.com \
--cc=jasowang@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lulu@redhat.com \
--cc=maz@kernel.org \
--cc=mst@redhat.com \
--cc=oberpar@linux.ibm.com \
--cc=pasic@linux.ibm.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=virtualization@lists.linux-foundation.org \
--cc=vneethv@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).