Lines Matching refs:spu_prio
56 static struct spu_prio_array *spu_prio;
102 mutex_lock(&spu_prio->active_mutex[spu->node]);
103 list_add_tail(&spu->list, &spu_prio->active_list[spu->node]);
104 mutex_unlock(&spu_prio->active_mutex[spu->node]);
115 mutex_lock(&spu_prio->active_mutex[node]);
117 mutex_unlock(&spu_prio->active_mutex[node]);
205 list_add_tail(&ctx->rq, &spu_prio->runq[prio]);
206 set_bit(prio, spu_prio->bitmap);
215 if (list_empty(&spu_prio->runq[prio]))
216 clear_bit(prio, spu_prio->bitmap);
223 spin_lock(&spu_prio->runq_lock);
227 spin_unlock(&spu_prio->runq_lock);
231 spin_lock(&spu_prio->runq_lock);
234 spin_unlock(&spu_prio->runq_lock);
282 mutex_lock(&spu_prio->active_mutex[node]);
283 list_for_each_entry(spu, &spu_prio->active_list[node], list) {
290 mutex_unlock(&spu_prio->active_mutex[node]);
377 spin_lock(&spu_prio->runq_lock);
378 best = sched_find_first_bit(spu_prio->bitmap);
380 struct list_head *rq = &spu_prio->runq[best];
387 spin_unlock(&spu_prio->runq_lock);
478 spu_prio = kzalloc(sizeof(struct spu_prio_array), GFP_KERNEL);
479 if (!spu_prio) {
486 INIT_LIST_HEAD(&spu_prio->runq[i]);
487 __clear_bit(i, spu_prio->bitmap);
489 __set_bit(MAX_PRIO, spu_prio->bitmap);
491 mutex_init(&spu_prio->active_mutex[i]);
492 INIT_LIST_HEAD(&spu_prio->active_list[i]);
494 spin_lock_init(&spu_prio->runq_lock);
504 mutex_lock(&spu_prio->active_mutex[node]);
505 list_for_each_entry_safe(spu, tmp, &spu_prio->active_list[node],
510 mutex_unlock(&spu_prio->active_mutex[node]);
512 kfree(spu_prio);