qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kurz <groug@kaod.org>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	kvm@vger.kernel.org,
	Jose Ricardo Ziviani <joserz@linux.vnet.ibm.com>,
	qemu-devel@nongnu.org, Anton Blanchard <anton@samba.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] [PULL 1/1] kvm-all: Partially reverts 4fe6d78b2e to remove the cleanup call
Date: Wed, 24 Jan 2018 10:05:00 +0100	[thread overview]
Message-ID: <20180124100500.1f9bf54a@bahia.lan> (raw)
In-Reply-To: <20180124094621.46ff2f43@bahia.lan>

On Wed, 24 Jan 2018 09:46:21 +0100
Greg Kurz <groug@kaod.org> wrote:

> Please note that Peter usually doesn't work on Wednesdays. The master branch
> might remain broken for everyone until tomorrow... :-\
> 
> And I don't think this is the right fix anyway. See below.
> 
> On Wed, 24 Jan 2018 00:44:14 +0200
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> 
> > From: Jose Ricardo Ziviani <joserz@linux.vnet.ibm.com>
> > 
> > This commit partially reverts the commit 4fe6d78b2e because of issues
> > reported in the virtio.
> > 
> > Examples:
> > 
> > $ qemu-system-ppc64 -cpu POWER8 -nographic -vga none -m 4G \
> >   -M pseries,accel=kvm -netdev type=user,id=net0 \
> >   -device virtio-net-pci,netdev=net0 -drive file=../disk.qcow2,if=virtio
> > 
> > Populating /vdevice/nvram@71000001
> > Populating /vdevice/v-scsi@71000002
> >        SCSI: Looking for devices
> >           8200000000000000 CD-ROM   : "QEMU     QEMU CD-ROM      2.5+"
> > Populating /pci@800000020000000
> >                      00 0000 (D) : 1af4 1000    virtio [ net ]
> > Aborted
> > 
> > $ qemu-system-x86_64 -m 4G -enable-kvm -drive file=util.qcow2,if=virtio
> > 
> > Running QEMU with GTK 2.x is deprecated, and will be removed
> > in a future release. Please switch to GTK 3.x instead
> > [1]    5282 abort
> > 
> > Reference http://lists.nongnu.org/archive/html/qemu-devel/2018-01/msg05457.html
> > 
> > Reported-by: Anton Blanchard <anton@samba.org>
> > Signed-off-by: Jose Ricardo Ziviani <joserz@linux.vnet.ibm.com>
> > Reviewed-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
> > Tested-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
> > Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > ---
> >  accel/kvm/kvm-all.c | 4 ----
> >  1 file changed, 4 deletions(-)
> > 
> > diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
> > index 071f4f5..f290f48 100644
> > --- a/accel/kvm/kvm-all.c
> > +++ b/accel/kvm/kvm-all.c
> > @@ -812,10 +812,6 @@ static void kvm_mem_ioeventfd_del(MemoryListener *listener,
> >      if (r < 0) {
> >          abort();
> >      }
> > -
> > -    if (e->cleanup) {
> > -        e->cleanup(e);
> > -    }  
> 
> This looks wrong as the cleanup is expected to do things like closing fds:
> 
> static void virtio_bus_cleanup_event_notifier(EventNotifier *notifier)
> {
>     /* Test and clear notifier after disabling event,
>      * in case poll callback didn't have time to run.
>      */
>     virtio_queue_host_notifier_read(notifier);
>     event_notifier_cleanup(notifier);
> }
> 
> void event_notifier_cleanup(EventNotifier *e)
> {
>     if (e->rfd != e->wfd) {
>         close(e->rfd);
>     }
>     close(e->wfd);
>     e->rfd = -1;
>     e->wfd = -1;
>     e->cleanup = NULL;
> }
> 
> And indeed, with this patch applied, QEMU leaks eventfds on every machine
> reset.
> 

Reverting 4fe6d78b2e entirely isn't even enough and QEMU aborts at the
next machine reset. The following commit must be reverted as well:

commit 6f0bb230722931d17fb284eee8efd40b9d653822
Author: Gal Hammer <ghammer@redhat.com>
Date:   Sun Jan 14 12:06:56 2018 +0200

    virtio: improve virtio devices initialization time

> >  }
> >  
> >  static void kvm_io_ioeventfd_add(MemoryListener *listener,  
> 
> 

  reply	other threads:[~2018-01-24  9:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-23 22:44 [Qemu-devel] [PULL 0/1] virtio: quick fix Michael S. Tsirkin
2018-01-23 22:44 ` [Qemu-devel] [PULL 1/1] kvm-all: Partially reverts 4fe6d78b2e to remove the cleanup call Michael S. Tsirkin
2018-01-24  8:46   ` Greg Kurz
2018-01-24  9:05     ` Greg Kurz [this message]
2018-01-24  9:14       ` Paolo Bonzini
2018-01-24  9:34         ` Greg Kurz
2018-01-24  9:36           ` Paolo Bonzini
2018-01-24 17:08           ` Michael S. Tsirkin
2018-01-28 14:07             ` Gal Hammer
2018-01-29  4:45               ` Michael S. Tsirkin
2018-01-29  7:48                 ` Gal Hammer
2018-01-24 20:17 ` [Qemu-devel] [PULL 0/1] virtio: quick fix Peter Maydell
2018-01-24 20:24   ` Michael S. Tsirkin

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=20180124100500.1f9bf54a@bahia.lan \
    --to=groug@kaod.org \
    --cc=anton@samba.org \
    --cc=danielhb@linux.vnet.ibm.com \
    --cc=joserz@linux.vnet.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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).