Lines Matching refs:async_pf
67 INIT_LIST_HEAD(&vcpu->async_pf.done); in kvm_async_pf_vcpu_init()
68 INIT_LIST_HEAD(&vcpu->async_pf.queue); in kvm_async_pf_vcpu_init()
69 spin_lock_init(&vcpu->async_pf.lock); in kvm_async_pf_vcpu_init()
86 spin_lock(&vcpu->async_pf.lock); in async_pf_execute()
87 list_add_tail(&apf->link, &vcpu->async_pf.done); in async_pf_execute()
88 spin_unlock(&vcpu->async_pf.lock); in async_pf_execute()
111 while (!list_empty(&vcpu->async_pf.queue)) { in kvm_clear_async_pf_completion_queue()
113 list_entry(vcpu->async_pf.queue.next, in kvm_clear_async_pf_completion_queue()
128 spin_lock(&vcpu->async_pf.lock); in kvm_clear_async_pf_completion_queue()
129 while (!list_empty(&vcpu->async_pf.done)) { in kvm_clear_async_pf_completion_queue()
131 list_entry(vcpu->async_pf.done.next, in kvm_clear_async_pf_completion_queue()
136 spin_unlock(&vcpu->async_pf.lock); in kvm_clear_async_pf_completion_queue()
138 vcpu->async_pf.queued = 0; in kvm_clear_async_pf_completion_queue()
145 while (!list_empty_careful(&vcpu->async_pf.done) && in kvm_check_async_pf_completion()
147 spin_lock(&vcpu->async_pf.lock); in kvm_check_async_pf_completion()
148 work = list_first_entry(&vcpu->async_pf.done, typeof(*work), in kvm_check_async_pf_completion()
151 spin_unlock(&vcpu->async_pf.lock); in kvm_check_async_pf_completion()
157 vcpu->async_pf.queued--; in kvm_check_async_pf_completion()
167 if (vcpu->async_pf.queued >= ASYNC_PF_PER_VCPU) in kvm_setup_async_pf()
198 list_add_tail(&work->queue, &vcpu->async_pf.queue); in kvm_setup_async_pf()
199 vcpu->async_pf.queued++; in kvm_setup_async_pf()
213 if (!list_empty_careful(&vcpu->async_pf.done)) in kvm_async_pf_wakeup_all()
223 spin_lock(&vcpu->async_pf.lock); in kvm_async_pf_wakeup_all()
224 list_add_tail(&work->link, &vcpu->async_pf.done); in kvm_async_pf_wakeup_all()
225 spin_unlock(&vcpu->async_pf.lock); in kvm_async_pf_wakeup_all()
227 vcpu->async_pf.queued++; in kvm_async_pf_wakeup_all()