Lines Matching refs:async_pf
17 #include "async_pf.h"
40 INIT_LIST_HEAD(&vcpu->async_pf.done);
41 INIT_LIST_HEAD(&vcpu->async_pf.queue);
42 spin_lock_init(&vcpu->async_pf.lock);
72 spin_lock(&vcpu->async_pf.lock);
73 first = list_empty(&vcpu->async_pf.done);
74 list_add_tail(&apf->link, &vcpu->async_pf.done);
76 spin_unlock(&vcpu->async_pf.lock);
96 spin_lock(&vcpu->async_pf.lock);
99 while (!list_empty(&vcpu->async_pf.queue)) {
101 list_first_entry(&vcpu->async_pf.queue,
106 * We know it's present in vcpu->async_pf.done, do
112 spin_unlock(&vcpu->async_pf.lock);
122 spin_lock(&vcpu->async_pf.lock);
125 while (!list_empty(&vcpu->async_pf.done)) {
127 list_first_entry(&vcpu->async_pf.done,
132 spin_unlock(&vcpu->async_pf.lock);
134 vcpu->async_pf.queued = 0;
141 while (!list_empty_careful(&vcpu->async_pf.done) &&
143 spin_lock(&vcpu->async_pf.lock);
144 work = list_first_entry(&vcpu->async_pf.done, typeof(*work),
147 spin_unlock(&vcpu->async_pf.lock);
154 vcpu->async_pf.queued--;
168 if (vcpu->async_pf.queued >= ASYNC_PF_PER_VCPU)
194 list_add_tail(&work->queue, &vcpu->async_pf.queue);
195 vcpu->async_pf.queued++;
208 if (!list_empty_careful(&vcpu->async_pf.done))
218 spin_lock(&vcpu->async_pf.lock);
219 first = list_empty(&vcpu->async_pf.done);
220 list_add_tail(&work->link, &vcpu->async_pf.done);
221 spin_unlock(&vcpu->async_pf.lock);
226 vcpu->async_pf.queued++;