[KVM PATCH v6 0/4] irqfd fixes and enhancements

From: Gregory Haskins
Date: Mon Jun 29 2009 - 11:44:30 EST


(Applies to kvm.git/master:4631e094)

The following is the latest attempt to fix the races in irqfd/eventfd, as
well as restore DEASSIGN support. For more details, please read the patch
headers.

You can also find this applied as a git tree:

git pull git://git.kernel.org/pub/scm/linux/kernel/git/ghaskins/linux-2.6-hacks.git kvm/irqfd

For reviewing convenience, here is a link to the entire virt/kvm/eventfd.c
file after the patches are applied:

http://git.kernel.org/?p=linux/kernel/git/ghaskins/linux-2.6-hacks.git;a=blob;f=virt/kvm/eventfd.c;h=409d9e160f1f85618a5e3772937b2721a249399a;hb=85cfd57e33dcaea29971513334ca003764653b21

As always, 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

I've included version 4 of Davide's eventfd patch (ported to kvm.git) so
that its a complete reviewable series. Note, however, that there may be
later versions of his patch to consider for merging, so we should
coordinate with him.

-Greg


[Changelog:

v6:
*) Removed slow-work in favor of using a dedicated single-thread
workqueue.
*) Condensed cleanup path to always use deferred shutdown
*) Saved about 56 lines over v5, with the following diffstat:

include/linux/kvm_host.h | 2
virt/kvm/eventfd.c | 248 ++++++++++++++++++-----------------------------
2 files changed, 97 insertions(+), 153 deletions(-)

v5:
Untracked..
]

---

Davide Libenzi (1):
eventfd - revised interface and cleanups (4th rev)

Gregory Haskins (3):
KVM: add irqfd DEASSIGN feature
KVM: Fix races in irqfd using new eventfd_kref_get interface
kvm: prepare irqfd for having interrupts disabled during eventfd->release


drivers/lguest/lg.h | 2
drivers/lguest/lguest_user.c | 4 -
fs/aio.c | 24 +---
fs/eventfd.c | 126 ++++++++++++++++++++---
include/linux/aio.h | 4 -
include/linux/eventfd.h | 35 +++++-
include/linux/kvm.h | 2
include/linux/kvm_host.h | 5 +
virt/kvm/Kconfig | 1
virt/kvm/eventfd.c | 229 +++++++++++++++++++++++++++++++-----------
10 files changed, 321 insertions(+), 111 deletions(-)

--
Signature
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/