Commit 2fc4f15d authored by Yi Li's avatar Yi Li Committed by Paolo Bonzini
Browse files

kvm/eventfd: move wildcard calculation outside loop



There is no need to calculate wildcard in each iteration
since wildcard is not changed.

Signed-off-by: default avatarYi Li <yili@winhong.com>
Message-Id: <20200911055652.3041762-1-yili@winhong.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent b9757a4b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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  ||