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()
107 while (!list_empty(&vcpu->async_pf.queue)) { in kvm_clear_async_pf_completion_queue()
109 list_entry(vcpu->async_pf.queue.next, in kvm_clear_async_pf_completion_queue()
124 spin_lock(&vcpu->async_pf.lock); in kvm_clear_async_pf_completion_queue()
125 while (!list_empty(&vcpu->async_pf.done)) { in kvm_clear_async_pf_completion_queue()
127 list_entry(vcpu->async_pf.done.next, in kvm_clear_async_pf_completion_queue()
132 spin_unlock(&vcpu->async_pf.lock); in kvm_clear_async_pf_completion_queue()
134 vcpu->async_pf.queued = 0; in kvm_clear_async_pf_completion_queue()
141 while (!list_empty_careful(&vcpu->async_pf.done) && in kvm_check_async_pf_completion()
143 spin_lock(&vcpu->async_pf.lock); in kvm_check_async_pf_completion()
144 work = list_first_entry(&vcpu->async_pf.done, typeof(*work), in kvm_check_async_pf_completion()
147 spin_unlock(&vcpu->async_pf.lock); in kvm_check_async_pf_completion()
153 vcpu->async_pf.queued--; in kvm_check_async_pf_completion()
163 if (vcpu->async_pf.queued >= ASYNC_PF_PER_VCPU) in kvm_setup_async_pf()
194 list_add_tail(&work->queue, &vcpu->async_pf.queue); in kvm_setup_async_pf()
195 vcpu->async_pf.queued++; in kvm_setup_async_pf()
209 if (!list_empty_careful(&vcpu->async_pf.done)) in kvm_async_pf_wakeup_all()
219 spin_lock(&vcpu->async_pf.lock); in kvm_async_pf_wakeup_all()
220 list_add_tail(&work->link, &vcpu->async_pf.done); in kvm_async_pf_wakeup_all()
221 spin_unlock(&vcpu->async_pf.lock); in kvm_async_pf_wakeup_all()
223 vcpu->async_pf.queued++; in kvm_async_pf_wakeup_all()