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(-)
>
>
signature.asc
Description: OpenPGP digital signature
