From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: [patch 4/5] KVM: remove make_all_cpus_request Date: Wed, 26 Aug 2009 22:20:04 -0300 Message-ID: <20090827012955.402689034@localhost.localdomain> References: <20090827012000.762063112@localhost.localdomain> Cc: Marcelo Tosatti To: kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:17887 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754573AbZH0Bbn (ORCPT ); Wed, 26 Aug 2009 21:31:43 -0400 Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7R1Vj4b025167 for ; Wed, 26 Aug 2009 21:31:45 -0400 Content-Disposition: inline; filename=remove-make-all-vcpus-request Sender: kvm-owner@vger.kernel.org List-ID: Obsoleted by kvm_vcpus_request Signed-off-by: Marcelo Tosatti Index: kvm/virt/kvm/kvm_main.c =================================================================== --- kvm.orig/virt/kvm/kvm_main.c +++ kvm/virt/kvm/kvm_main.c @@ -142,40 +142,6 @@ void kvm_vcpu_ipi(struct kvm_vcpu *vcpu) put_cpu(); } -static void ack_flush(void *_completed) -{ -} - -static bool make_all_cpus_request(struct kvm *kvm, unsigned int req) -{ - int i, cpu, me; - cpumask_var_t cpus; - bool called = true; - struct kvm_vcpu *vcpu; - - if (alloc_cpumask_var(&cpus, GFP_ATOMIC)) - cpumask_clear(cpus); - - spin_lock(&kvm->requests_lock); - me = smp_processor_id(); - kvm_for_each_vcpu(i, vcpu, kvm) { - if (test_and_set_bit(req, &vcpu->requests)) - continue; - cpu = vcpu->cpu; - if (cpus != NULL && cpu != -1 && cpu != me) - cpumask_set_cpu(cpu, cpus); - } - if (unlikely(cpus == NULL)) - smp_call_function_many(cpu_online_mask, ack_flush, NULL, 1); - else if (!cpumask_empty(cpus)) - smp_call_function_many(cpus, ack_flush, NULL, 1); - else - called = false; - spin_unlock(&kvm->requests_lock); - free_cpumask_var(cpus); - return called; -} - static int kvm_req_wait(void *unused) { cpu_relax(); @@ -415,7 +381,6 @@ static struct kvm *kvm_create_vm(void) kvm->mm = current->mm; atomic_inc(&kvm->mm->mm_count); spin_lock_init(&kvm->mmu_lock); - spin_lock_init(&kvm->requests_lock); kvm_io_bus_init(&kvm->pio_bus); kvm_eventfd_init(kvm); mutex_init(&kvm->lock); Index: kvm/include/linux/kvm_host.h =================================================================== --- kvm.orig/include/linux/kvm_host.h +++ kvm/include/linux/kvm_host.h @@ -157,7 +157,6 @@ struct kvm_irq_routing_table {}; struct kvm { spinlock_t mmu_lock; - spinlock_t requests_lock; struct rw_semaphore slots_lock; struct mm_struct *mm; /* userspace tied to this vm */ int nmemslots; --