All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cornelia.huck@de.ibm.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	qemu-devel@nongnu.org, Dominik Dingel <dingel@linux.vnet.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Jens Freimann <jfrei@linux.vnet.ibm.com>,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 3/9] dataplane: remove EventPoll in favor of AioContext
Date: Fri, 8 Mar 2013 13:44:13 +0100	[thread overview]
Message-ID: <20130308134413.74dc62bf@gondolin> (raw)
In-Reply-To: <5139ADDC.1040101@redhat.com>

On Fri, 08 Mar 2013 10:22:36 +0100
Paolo Bonzini <pbonzini@redhat.com> wrote:

> Il 08/03/2013 09:37, Christian Borntraeger ha scritto:
> > +    if (assign) {
> > +        int r = event_notifier_init(notifier, 0);
> > +
> > +        if (r < 0) {
> > +            return r;
> > +        }
> > +        virtio_queue_set_guest_notifier_fd_handler(vq, true, with_irqfd);
> 
> Perhaps you can simply hard-code with_irqfd to false in this call to
> virtio_queue_set_guest_notifier_fd_handler and the one below?  Then the
> guest notifier will be emulated in userspace and processed via
> vdev->binding->notify.

Well, effectively with_irqfd is already hardcoded to false (as
virtio_ccw_set_guest_notifiers() always calls this function with
with_irqfd=false), so that doesn't seem to be the problem here.

> 
> You will not need to overwrite the EventNotifier which is IMO a pretty
> ufly violation of encapsulation. :)
> 
> Paolo
> 
> > +        /* We do not support irqfd for classic I/O interrupts, because the
> > +         * classic interrupts are intermixed with the subchannel status, that
> > +         * is queried with test subchannel. We want to use vhost, though.
> > +         * Lets make sure to have vhost running and wire up the irq fd to 
> > +         * land in qemu (and only the irq fd) in this code.
> > +         */
> > +        if (dev->vdev->guest_notifier_mask) {
> > +            dev->vdev->guest_notifier_mask(dev->vdev, n, false);
> > +        }
> > +        /* get lost events and re-inject */
> > +        if (dev->vdev->guest_notifier_pending &&
> > +            dev->vdev->guest_notifier_pending(dev->vdev, n)) {
> > +            event_notifier_set(notifier);
> > +        }
> > +    } else {
> > +        if (dev->vdev->guest_notifier_mask) {
> > +            dev->vdev->guest_notifier_mask(dev->vdev, n, true);
> > +        }
> > +        virtio_queue_set_guest_notifier_fd_handler(vq, false, with_irqfd);
> > +        event_notifier_cleanup(notifier);
> 

  reply	other threads:[~2013-03-08 12:44 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-04  9:15 [Qemu-devel] [PULL 0/9] Block patches Stefan Hajnoczi
2013-03-04  9:15 ` [Qemu-devel] [PATCH 1/9] ide/macio: Fix macio DMA initialisation Stefan Hajnoczi
2013-03-04  9:15 ` [Qemu-devel] [PATCH 2/9] virtio-blk: fix unplug + virsh reboot Stefan Hajnoczi
2013-03-04  9:15 ` [Qemu-devel] [PATCH 3/9] dataplane: remove EventPoll in favor of AioContext Stefan Hajnoczi
2013-03-08  8:37   ` Christian Borntraeger
2013-03-08  9:22     ` Paolo Bonzini
2013-03-08 12:44       ` Cornelia Huck [this message]
2013-03-08 13:51         ` Paolo Bonzini
2013-03-04  9:15 ` [Qemu-devel] [PATCH 4/9] slirp/tcp_subr.c: fix coding style in tcp_connect Stefan Hajnoczi
2013-03-04  9:15 ` [Qemu-devel] [PATCH 5/9] move socket_set_nodelay to osdep.c Stefan Hajnoczi
2013-03-04  9:15 ` [Qemu-devel] [PATCH 6/9] sheepdog: accept URIs Stefan Hajnoczi
2013-03-04  9:15 ` [Qemu-devel] [PATCH 7/9] sheepdog: use inet_connect to simplify connect code Stefan Hajnoczi
2013-03-04  9:15 ` [Qemu-devel] [PATCH 8/9] sheepdog: add support for connecting to unix domain socket Stefan Hajnoczi
2013-03-04  9:15 ` [Qemu-devel] [PATCH 9/9] block: for HMP commit() operations on 'all', skip non-COW drives Stefan Hajnoczi

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=20130308134413.74dc62bf@gondolin \
    --to=cornelia.huck@de.ibm.com \
    --cc=aliguori@us.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=dingel@linux.vnet.ibm.com \
    --cc=jfrei@linux.vnet.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.