Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1612651

Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared interrupts for virtqueues")

From Mike Galbraith <efault@gmx.de>
Newsgroups linux.kernel
Subject Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared interrupts for virtqueues")
Date 2017-03-30 09:30 +0200
Message-ID <tqCGR-2MS-3@gated-at.bofh.it> (permalink)
References (3 earlier) <tpGjv-305-5@gated-at.bofh.it> <tpHyV-3ND-7@gated-at.bofh.it> <tqfhf-2UO-7@gated-at.bofh.it> <tqseu-3C5-33@gated-at.bofh.it> <tqyMV-8tq-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, 2017-03-30 at 05:10 +0200, Mike Galbraith wrote:

> WRT spin, you should need do nothing more than boot with threadirqs,
> that's 100% repeatable here in absolutely virgin source.

No idea why virtqueue_get_buf() in __send_control_msg() fails forever
with threadirqs, but marking that vq as being busted (it clearly is)
results in one gripe, and a vbox that seemingly cares not one whit that
something went missing.  CONFIG_DEBUG_SHIRQ OTOH notices, mutters
something that sounds like "idiot" when I hibernate the thing ;-)

diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index e9b7e0b3cabe..831406dae1cb 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -567,6 +567,7 @@ static ssize_t __send_control_msg(struct ports_device *portdev, u32 port_id,
 	struct scatterlist sg[1];
 	struct virtqueue *vq;
 	unsigned int len;
+	unsigned long deadline = jiffies+1;
 
 	if (!use_multiport(portdev))
 		return 0;
@@ -583,9 +584,13 @@ static ssize_t __send_control_msg(struct ports_device *portdev, u32 port_id,
 
 	if (virtqueue_add_outbuf(vq, sg, 1, &portdev->cpkt, GFP_ATOMIC) == 0) {
 		virtqueue_kick(vq);
-		while (!virtqueue_get_buf(vq, &len)
-			&& !virtqueue_is_broken(vq))
+		while (!virtqueue_get_buf(vq, &len) && !virtqueue_is_broken(vq)) {
 			cpu_relax();
+			if (time_after(jiffies, deadline)) {
+				trace_printk("Aw crap, I'm stuck.. breaking device\n");
+				virtio_break_device(portdev->vdev);
+			}
+		}
 	}
 
 	spin_unlock(&portdev->c_ovq_lock);

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-03-27 20:30 +0200
  Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-03-29 08:30 +0200
    Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-29 22:20 +0200
      Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-03-30 09:30 +0200
        Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-31 05:30 +0200
          Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use         shared interrupts for virtqueues") Christoph Hellwig <hch@lst.de> - 2017-03-31 10:30 +0200
            Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-31 18:50 +0200
              Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use         shared interrupts for virtqueues") Christoph Hellwig <hch@lst.de> - 2017-04-03 16:20 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-03 17:50 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-03 18:20 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use         shared interrupts for virtqueues") Christoph Hellwig <hch@lst.de> - 2017-04-05 08:40 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-03 20:00 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-03 20:20 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-04 06:10 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-04 15:40 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-04 16:20 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-04 16:30 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-04 17:40 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-04 19:50 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-04 20:00 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-04 20:10 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-04 20:40 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-04 23:40 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-05 05:00 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-04 21:10 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-05 05:10 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-05 05:20 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-05 05:30 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-05 05:50 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-05 06:00 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-05 06:30 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use         shared interrupts for virtqueues") Christoph Hellwig <hch@lst.de> - 2017-04-05 08:30 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-05 09:00 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-05 23:40 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-07 08:10 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-07 08:30 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-07 08:50 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-07 09:10 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-07 09:30 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-07 09:30 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-07 15:30 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-07 15:40 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-07 16:40 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-07 21:00 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-04-08 07:10 +0200
                Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-04-05 06:00 +0200
    Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use shared  interrupts for virtqueues") "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-29 22:30 +0200
      Re: Random guest crashes since 5c34d002dcc7 ("virtio_pci: use  shared interrupts for virtqueues") Mike Galbraith <efault@gmx.de> - 2017-03-30 06:00 +0200

csiph-web