kvm/eventfd: move wildcard calculation outside loop
authorYi Li <yili@winhong.com>
Fri, 11 Sep 2020 05:56:52 +0000 (13:56 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 28 Sep 2020 11:57:08 +0000 (07:57 -0400)
There is no need to calculate wildcard in each iteration
since wildcard is not changed.

Signed-off-by: Yi Li <yili@winhong.com>
Message-Id: <20200911055652.3041762-1-yili@winhong.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
virt/kvm/eventfd.c

index d6408bb..c2323c2 100644 (file)
@@ -853,15 +853,17 @@ kvm_deassign_ioeventfd_idx(struct kvm *kvm, enum kvm_bus bus_idx,
        struct eventfd_ctx       *eventfd;
        struct kvm_io_bus        *bus;
        int                       ret = -ENOENT;
+       bool                      wildcard;
 
        eventfd = eventfd_ctx_fdget(args->fd);
        if (IS_ERR(eventfd))
                return PTR_ERR(eventfd);
 
+       wildcard = !(args->flags & KVM_IOEVENTFD_FLAG_DATAMATCH);
+
        mutex_lock(&kvm->slots_lock);
 
        list_for_each_entry_safe(p, tmp, &kvm->ioeventfds, list) {
-               bool wildcard = !(args->flags & KVM_IOEVENTFD_FLAG_DATAMATCH);
 
                if (p->bus_idx != bus_idx ||
                    p->eventfd != eventfd  ||