All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: avi@redhat.com, mtosatti@redhat.com, kvm@vger.kernel.org,
	anthony.perard@citrix.com, jan.kiszka@siemens.com,
	mst@redhat.com, stefano.stabellini@eu.citrix.com
Subject: [PATCH uq/master 0/9] remove event_notifier_get_fd from non-KVM code
Date: Thu,  5 Jul 2012 17:16:21 +0200	[thread overview]
Message-ID: <1341501390-797-1-git-send-email-pbonzini@redhat.com> (raw)

This is part 1 of a three-part series that expands usage of EventNotifier
in QEMU (including AIO and the main loop).  I started working on this when
playing with the threaded block layer; the part of that work that I hope
will be in 1.2 is generalizing posix-aio-compat.c to be a generic portable
thread pool + porting AIO to Win32 (part 2).  On top of this, discard
can be easily made asynchronous (part 3), which is a prerequisite for
enabling it.

This first part does the necessary changes for porting EventNotifier
to Win32.  The Win32 version will not have event_notifier_get_fd,
and thus I want to remove all calls in portable code.  Instead, all
functions used in portable code after this series take an EventNotifier;
KVM-specific implementations retrieve the file descriptor internally
(these calls are in hw/ivshmem.c, hw/vhost.c, kvm-all.c).

Patches 1 to 6 cover ivshmem and the memory API, first adding the
required EventNotifier APIs and then using them.  Patches 7 to 9 do the
same with KVM ioeventfd and irqfd, refactoring transport-independent
code in the process from virtio-pci to virtio (the two steps are a bit
hard to separate).

Paolo Bonzini (9):
  event_notifier: add event_notifier_set
  event_notifier: remove event_notifier_test
  event_notifier: add event_notifier_init_fd
  ivshmem: use EventNotifier and memory API
  ivshmem: wrap ivshmem_del_eventfd loops with transaction
  memory: pass EventNotifier, not eventfd
  event_notifier: add event_notifier_set_handler
  virtio: move common ioeventfd handling out of virtio-pci
  virtio: move common irqfd handling out of virtio-pci

 event_notifier.c |   30 ++++++++++++---------
 event_notifier.h |    8 ++++--
 exec.c           |    8 +++---
 hw/ivshmem.c     |   67 +++++++++++++++++++++++++++--------------------
 hw/vhost.c       |    4 +--
 hw/virtio-pci.c  |   77 ++++++++++--------------------------------------------
 hw/virtio.c      |   46 ++++++++++++++++++++++++++++++++
 hw/virtio.h      |    3 +++
 hw/xen_pt.c      |    2 +-
 kvm-all.c        |   29 +++++++++++++++-----
 kvm-stub.c       |   10 +++++++
 kvm.h            |    2 ++
 memory.c         |   18 ++++++-------
 memory.h         |    9 ++++---
 xen-all.c        |    6 +++--
 15 files changed, 186 insertions(+), 133 deletions(-)

-- 
1.7.10.2


WARNING: multiple messages have this Message-ID (diff)
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: kvm@vger.kernel.org, mst@redhat.com, jan.kiszka@siemens.com,
	mtosatti@redhat.com, avi@redhat.com, anthony.perard@citrix.com,
	stefano.stabellini@eu.citrix.com
Subject: [Qemu-devel] [PATCH uq/master 0/9] remove event_notifier_get_fd from non-KVM code
Date: Thu,  5 Jul 2012 17:16:21 +0200	[thread overview]
Message-ID: <1341501390-797-1-git-send-email-pbonzini@redhat.com> (raw)

This is part 1 of a three-part series that expands usage of EventNotifier
in QEMU (including AIO and the main loop).  I started working on this when
playing with the threaded block layer; the part of that work that I hope
will be in 1.2 is generalizing posix-aio-compat.c to be a generic portable
thread pool + porting AIO to Win32 (part 2).  On top of this, discard
can be easily made asynchronous (part 3), which is a prerequisite for
enabling it.

This first part does the necessary changes for porting EventNotifier
to Win32.  The Win32 version will not have event_notifier_get_fd,
and thus I want to remove all calls in portable code.  Instead, all
functions used in portable code after this series take an EventNotifier;
KVM-specific implementations retrieve the file descriptor internally
(these calls are in hw/ivshmem.c, hw/vhost.c, kvm-all.c).

Patches 1 to 6 cover ivshmem and the memory API, first adding the
required EventNotifier APIs and then using them.  Patches 7 to 9 do the
same with KVM ioeventfd and irqfd, refactoring transport-independent
code in the process from virtio-pci to virtio (the two steps are a bit
hard to separate).

Paolo Bonzini (9):
  event_notifier: add event_notifier_set
  event_notifier: remove event_notifier_test
  event_notifier: add event_notifier_init_fd
  ivshmem: use EventNotifier and memory API
  ivshmem: wrap ivshmem_del_eventfd loops with transaction
  memory: pass EventNotifier, not eventfd
  event_notifier: add event_notifier_set_handler
  virtio: move common ioeventfd handling out of virtio-pci
  virtio: move common irqfd handling out of virtio-pci

 event_notifier.c |   30 ++++++++++++---------
 event_notifier.h |    8 ++++--
 exec.c           |    8 +++---
 hw/ivshmem.c     |   67 +++++++++++++++++++++++++++--------------------
 hw/vhost.c       |    4 +--
 hw/virtio-pci.c  |   77 ++++++++++--------------------------------------------
 hw/virtio.c      |   46 ++++++++++++++++++++++++++++++++
 hw/virtio.h      |    3 +++
 hw/xen_pt.c      |    2 +-
 kvm-all.c        |   29 +++++++++++++++-----
 kvm-stub.c       |   10 +++++++
 kvm.h            |    2 ++
 memory.c         |   18 ++++++-------
 memory.h         |    9 ++++---
 xen-all.c        |    6 +++--
 15 files changed, 186 insertions(+), 133 deletions(-)

-- 
1.7.10.2

             reply	other threads:[~2012-07-05 15:16 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-05 15:16 Paolo Bonzini [this message]
2012-07-05 15:16 ` [Qemu-devel] [PATCH uq/master 0/9] remove event_notifier_get_fd from non-KVM code Paolo Bonzini
2012-07-05 15:16 ` [PATCH uq/master 1/9] event_notifier: add event_notifier_set Paolo Bonzini
2012-07-05 15:16   ` [Qemu-devel] " Paolo Bonzini
2012-07-05 15:16 ` [PATCH uq/master 2/9] event_notifier: remove event_notifier_test Paolo Bonzini
2012-07-05 15:16   ` [Qemu-devel] " Paolo Bonzini
2012-07-12  9:10   ` Avi Kivity
2012-07-12  9:10     ` [Qemu-devel] " Avi Kivity
2012-07-12 10:30     ` Paolo Bonzini
2012-07-12 10:30       ` [Qemu-devel] " Paolo Bonzini
2012-07-12 11:04       ` Avi Kivity
2012-07-12 11:04         ` [Qemu-devel] " Avi Kivity
2012-07-12 11:16         ` Paolo Bonzini
2012-07-12 11:16           ` [Qemu-devel] " Paolo Bonzini
2012-07-05 15:16 ` [PATCH uq/master 3/9] event_notifier: add event_notifier_init_fd Paolo Bonzini
2012-07-05 15:16   ` [Qemu-devel] " Paolo Bonzini
2012-07-12  9:11   ` Avi Kivity
2012-07-12  9:11     ` [Qemu-devel] " Avi Kivity
2012-07-05 15:16 ` [PATCH uq/master 4/9] ivshmem: use EventNotifier and memory API Paolo Bonzini
2012-07-05 15:16   ` [Qemu-devel] " Paolo Bonzini
2012-07-05 15:16 ` [PATCH uq/master 5/9] ivshmem: wrap ivshmem_del_eventfd loops with transaction Paolo Bonzini
2012-07-05 15:16   ` [Qemu-devel] " Paolo Bonzini
2012-07-05 15:16 ` [PATCH uq/master 6/9] memory: pass EventNotifier, not eventfd Paolo Bonzini
2012-07-05 15:16   ` [Qemu-devel] " Paolo Bonzini
2012-07-05 15:16 ` [PATCH uq/master 7/9] event_notifier: add event_notifier_set_handler Paolo Bonzini
2012-07-05 15:16   ` [Qemu-devel] " Paolo Bonzini
2012-07-05 15:16 ` [PATCH uq/master 8/9] virtio: move common ioeventfd handling out of virtio-pci Paolo Bonzini
2012-07-05 15:16   ` [Qemu-devel] " Paolo Bonzini
2012-07-05 15:16 ` [PATCH uq/master 9/9] virtio: move common irqfd " Paolo Bonzini
2012-07-05 15:16   ` [Qemu-devel] " Paolo Bonzini
2012-07-12  9:30 ` [PATCH uq/master 0/9] remove event_notifier_get_fd from non-KVM code Avi Kivity
2012-07-12  9:30   ` [Qemu-devel] " Avi Kivity

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=1341501390-797-1-git-send-email-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=anthony.perard@citrix.com \
    --cc=avi@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefano.stabellini@eu.citrix.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.