Re: [KVM PATCH v6 0/4] irqfd fixes and enhancements
From: Gregory Haskins
Date: Mon Jun 29 2009 - 11:46:38 EST
Gregory Haskins wrote:
> (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(-)
>
Forgot another change:
*) Fixed race in ASSIGN for the proper
acquisition order of the irqfd->eventfd
> 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(-)
>
>
Attachment:
signature.asc
Description: OpenPGP digital signature