Re: [KVM PATCH v3 0/2] irqfd

2009-04-29 Thread Andrew Morton
On Mon, 27 Apr 2009 14:33:24 -0400 Gregory Haskins ghask...@novell.com wrote:

 (Applies to kvm.git 41b76d8d0487c26d6d4d3fe53c1ff59b3236f096)
 
 This series implements a mechanism called irqfd.  It lets you create
 an eventfd based file-desriptor to inject interrupts to a kvm guest.  We
 associate one gsi per fd for fine-grained routing.

It'd be nice if the KVM weenies amongst us were to be told why one
would want to inject interrupts into a KVM guest.  Monosyllabic words
would be preferred ;)

 We do not have a user of this interface in this series, though note
 future version of virtual-bus (v4 and above) will be based on this.

So I assume that this patchset will be merged if/when a user of it is
merged?

 The first patch will require mainline buy-in, particularly from Davide
 (cc'd).  The last patch is kvm specific.

Three EXPORT_SYMBOL_GPL()s.  Once the shouting has subsided I'd suggest
that this be merged via the KVM tree.


--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [KVM PATCH v3 0/2] irqfd

2009-04-29 Thread Avi Kivity

Andrew Morton wrote:

On Mon, 27 Apr 2009 14:33:24 -0400 Gregory Haskins ghask...@novell.com wrote:

  

(Applies to kvm.git 41b76d8d0487c26d6d4d3fe53c1ff59b3236f096)

This series implements a mechanism called irqfd.  It lets you create
an eventfd based file-desriptor to inject interrupts to a kvm guest.  We
associate one gsi per fd for fine-grained routing.



It'd be nice if the KVM weenies amongst us were to be told why one
would want to inject interrupts into a KVM guest.  Monosyllabic words
would be preferred ;)
  


Interrupts are injected (better word, raised) into a guest because real 
hardware has interrupts. This patchset does not add the ability to raise 
interrupts (that existed from day 1); it adds an eventfd interface to do so.


An eventfd interface is useful, because it allows components to talk to 
kvm guests without being tied to kvm internals; they signal an eventfd; 
if the eventfd is terminated in kvm, it injects an interrupt. If the 
eventfd is terminated in userspace, it returns from epoll().



We do not have a user of this interface in this series, though note
future version of virtual-bus (v4 and above) will be based on this.



So I assume that this patchset will be merged if/when a user of it is
merged?
  


This interface is applicable to both the kernel and userspace; userspace 
users won't be merged.


But I certainly want to see how the whole thing works.


The first patch will require mainline buy-in, particularly from Davide
(cc'd).  The last patch is kvm specific.



Three EXPORT_SYMBOL_GPL()s.  Once the shouting has subsided I'd suggest
that this be merged via the KVM tree.
  


I think eventfd makes tons of sense as a generic 'wake me up' mechanism 
that can be used from both sides of the kernel/user line.


--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[KVM PATCH v3 0/2] irqfd

2009-04-27 Thread Gregory Haskins
(Applies to kvm.git 41b76d8d0487c26d6d4d3fe53c1ff59b3236f096)

This series implements a mechanism called irqfd.  It lets you create
an eventfd based file-desriptor to inject interrupts to a kvm guest.  We
associate one gsi per fd for fine-grained routing.

[ Changelog:

   v3:
*) The kernel now allocates the eventfd (need to export sys_eventfd2)
*) Added a flags field for future expansion to kvm_irqfd()
*) We properly toggle the irq level 1+0.
*) We re-use the USERSPACE_SRC_ID instead of creating our own
*) Properly check for failures establishing a poll-table with eventfd
*) Fixed fd/file leaks on failure
*) Rebased to lateste kvm.git::41b76d8d04

   v2:
*) Dropped notifier_chain based callbacks in favor of
   wait_queue_t::func and file::poll based callbacks (Thanks to
   Davide for the suggestion)

   v1:
*) Initial release



We do not have a user of this interface in this series, though note
future version of virtual-bus (v4 and above) will be based on this.

The first patch will require mainline buy-in, particularly from Davide
(cc'd).  The last patch is kvm specific.

qemu-kvm.git patch to follow.

-Greg

---

Gregory Haskins (2):
  kvm: add support for irqfd via eventfd-notification interface
  eventfd: export fget and signal interfaces for module use


 arch/x86/kvm/Makefile|2 -
 arch/x86/kvm/x86.c   |1 
 fs/eventfd.c |4 +
 include/linux/kvm.h  |7 ++
 include/linux/kvm_host.h |4 +
 virt/kvm/irqfd.c |  158 ++
 virt/kvm/kvm_main.c  |   11 +++
 7 files changed, 186 insertions(+), 1 deletions(-)
 create mode 100644 virt/kvm/irqfd.c

-- 
Signature
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html