All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gregory Haskins <ghaskins@novell.com>
To: kvm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, avi@redhat.com,
	mtosatti@redhat.com, paulmck@linux.vnet.ibm.com,
	markmc@redhat.com
Subject: [KVM PATCH v8 0/3] iosignalfd
Date: Thu, 18 Jun 2009 20:30:30 -0400	[thread overview]
Message-ID: <20090619002224.15859.97977.stgit@dev.haskins.net> (raw)

(Applies to kvm.git/master:c27b64a0)

This is v8 of the series.  For more details, please see the header to
patch 3/3.

This series has been tested against the kvm-eventfd unit test, and
appears to be functioning properly.  You can download this test here:

ftp://ftp.novell.com/dev/ghaskins/kvm-eventfd.tar.bz2

Please consider for inclusion to kvm.git

An updated userspace for qemu-kvm.git is forthcoming.

[
   Changelog:

      v8:
           *) Addressed Avi's review comments:
                 *) Simplified the unregister_dev logic in patch 1/3
	         *) Implemented a per-vm io-device limit (patch 2/3)
		 *) Removed spurious whitespace hunk
		 *) changed the data-match from a void* to a u64
		 *) check group-length violations before wildcarding

      v7:
           *) Implemented a resource limit (CONFIG_KVM_MAX_IOSIGNALFD_ITEMS)
              to limit malicious/broken userspace from consuming arbitrary
	      kernel memory.
	   *) Rebased to kvm.git/master:c27b64a0, which already includes
	      Marcelo's irq-lock rework.

      v6:
           *) Removed "FIXME?" comment on choice over RCU vs SRCU after
              discussion/numbers from Paul.  I think RCU is fine to use for
              now based on the conversation.  We can always convert it later
              if need be.
           *) Fixed the "group" free path to eliminate an RCU related race
           *) Fixed a memory/eventfd leak on shutdown for any iosignalfd's
              which were still active at the time the guest shuts down.
           *) Beefed up comments
           *) Rebased to kvm.git/master:0281e88f + irq locking rework and
              verified that kvm-eventfd unit test still passes.

      v5:
           *) Removed "cookie" field, which was a misunderstanding on my
              part on what Avi wanted for a data-match feature
	   *) Added a new "trigger" data-match feature which I think is
              much closer to what we need.
	   *) We retain the dev_count field in the io_bus infrastructure
	      and instead back-fill the array on removal.
	   *) Various minor cleanups
	   *) Rebased to kvm.git/master:25deed73

      v4:
           *) Fixed a bug in the original 2/4 where the PIT failure case
              would potentially leave the io_bus components registered.
           *) Condensed the v3 2/4 and 3/4 into one patch (2/2) since
              the patches became interdependent with the fix described above
           *) Rebased to kvm.git/master:74dfca0a

      v3:
           *) fixed patch 2/4 to handle error cases instead of BUG_ON
           *) implemented same HAVE_EVENTFD protection mechanism as
              irqfd to prevent compilation errors on unsupported arches
           *) completed testing
           *) rebased to kvm.git/master:7391a6d5

      v2:
           *) added optional data-matching capability (via cookie field)
           *) changed name from iofd to iosignalfd
           *) added io_bus unregister function
           *) implemented deassign feature

      v1:
           *) original release (integrated into irqfd v7 series as "iofd")
]

---

Gregory Haskins (3):
      KVM: add iosignalfd support
      KVM: add per-vm limit on the maximum number of io-devices supported
      KVM: make io_bus interface more robust


 arch/x86/kvm/Kconfig      |    8 +
 arch/x86/kvm/i8254.c      |   23 ++
 arch/x86/kvm/i8259.c      |    9 +
 arch/x86/kvm/x86.c        |    1 
 include/linux/kvm.h       |   15 ++
 include/linux/kvm_host.h  |   19 ++
 virt/kvm/coalesced_mmio.c |    8 +
 virt/kvm/eventfd.c        |  426 +++++++++++++++++++++++++++++++++++++++++++++
 virt/kvm/ioapic.c         |    9 +
 virt/kvm/kvm_main.c       |   42 ++++
 10 files changed, 545 insertions(+), 15 deletions(-)

-- 
Signature

             reply	other threads:[~2009-06-19  0:30 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-19  0:30 Gregory Haskins [this message]
2009-06-19  0:30 ` [KVM PATCH v8 1/3] KVM: make io_bus interface more robust Gregory Haskins
2009-06-25 14:22   ` Gregory Haskins
2009-06-25 14:53     ` Michael S. Tsirkin
2009-06-25 14:56       ` Gregory Haskins
2009-06-19  0:30 ` [KVM PATCH v8 2/3] KVM: add per-vm limit on the maximum number of io-devices supported Gregory Haskins
2009-06-19  0:30 ` [KVM PATCH v8 3/3] KVM: add iosignalfd support Gregory Haskins
2009-06-22 10:44   ` Michael S. Tsirkin
2009-06-22 12:13     ` Gregory Haskins
2009-06-22 12:26       ` Paolo Bonzini
2009-06-22 12:30       ` Michael S. Tsirkin
2009-06-22 12:56         ` Gregory Haskins
2009-06-22 13:08           ` Michael S. Tsirkin
2009-06-22 13:12             ` Gregory Haskins
2009-06-22 13:13             ` Avi Kivity
2009-06-22 13:04         ` Gregory Haskins
2009-06-22 13:13           ` Michael S. Tsirkin
2009-06-22 13:19             ` Gregory Haskins
2009-06-22 14:30               ` Avi Kivity
2009-06-22 14:39                 ` Gregory Haskins
2009-06-22 14:28             ` Avi Kivity
2009-06-22 15:16   ` [PATCH RFC] pass write value to in_range pointers Michael S. Tsirkin
2009-06-22 15:45     ` Gregory Haskins
2009-06-22 16:08       ` Michael S. Tsirkin
2009-06-22 16:29         ` Gregory Haskins
2009-06-22 17:27           ` Michael S. Tsirkin
2009-06-23  4:04             ` Gregory Haskins
2009-06-23 11:44               ` Michael S. Tsirkin
2009-06-23 11:52                 ` Gregory Haskins
2009-06-23 11:56                 ` Avi Kivity
2009-06-23 12:01                   ` Gregory Haskins
2009-06-23 12:19                     ` Avi Kivity
2009-06-23 11:53               ` Avi Kivity
2009-06-23  9:54           ` Avi Kivity
2009-06-23  9:52         ` Avi Kivity
2009-06-23 11:41           ` Gregory Haskins
2009-06-23 11:46             ` Michael S. Tsirkin
2009-06-23  8:56   ` [KVM PATCH v8 3/3] KVM: add iosignalfd support Michael S. Tsirkin
2009-06-23  9:57     ` Avi Kivity
2009-06-23 10:48       ` Michael S. Tsirkin
2009-06-23 11:24         ` Avi Kivity
2009-06-23 11:33     ` Gregory Haskins
2009-06-23 11:36       ` Michael S. Tsirkin
2009-06-23 11:40         ` Gregory Haskins
2009-06-23 13:22     ` Gregory Haskins

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=20090619002224.15859.97977.stgit@dev.haskins.net \
    --to=ghaskins@novell.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markmc@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=paulmck@linux.vnet.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 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.