Lines Matching refs:cct
678 struct ehca_cpu_comp_task *cct, in __queue_comp_task() argument
683 spin_lock_irqsave(&cct->task_lock, flags); in __queue_comp_task()
688 list_add_tail(&__cq->entry, &cct->cq_list); in __queue_comp_task()
689 cct->cq_jobs++; in __queue_comp_task()
695 spin_unlock_irqrestore(&cct->task_lock, flags); in __queue_comp_task()
701 struct ehca_cpu_comp_task *cct; in queue_comp_task() local
709 cct = per_cpu_ptr(pool->cpu_comp_tasks, cpu_id); in queue_comp_task()
711 BUG_ON(!cct || !thread); in queue_comp_task()
713 spin_lock_irqsave(&cct->task_lock, flags); in queue_comp_task()
714 cq_jobs = cct->cq_jobs; in queue_comp_task()
715 spin_unlock_irqrestore(&cct->task_lock, flags); in queue_comp_task()
718 cct = per_cpu_ptr(pool->cpu_comp_tasks, cpu_id); in queue_comp_task()
720 BUG_ON(!cct || !thread); in queue_comp_task()
722 __queue_comp_task(__cq, cct, thread); in queue_comp_task()
725 static void run_comp_task(struct ehca_cpu_comp_task *cct) in run_comp_task() argument
729 while (!list_empty(&cct->cq_list)) { in run_comp_task()
730 cq = list_entry(cct->cq_list.next, struct ehca_cq, entry); in run_comp_task()
731 spin_unlock_irq(&cct->task_lock); in run_comp_task()
737 spin_lock_irq(&cct->task_lock); in run_comp_task()
741 list_del_init(cct->cq_list.next); in run_comp_task()
742 cct->cq_jobs--; in run_comp_task()
750 struct ehca_cpu_comp_task *cct = per_cpu_ptr(pool->cpu_comp_tasks, cpu); in comp_task_park() local
756 spin_lock_irq(&cct->task_lock); in comp_task_park()
757 cct->cq_jobs = 0; in comp_task_park()
758 cct->active = 0; in comp_task_park()
759 list_splice_init(&cct->cq_list, &list); in comp_task_park()
760 spin_unlock_irq(&cct->task_lock); in comp_task_park()
775 struct ehca_cpu_comp_task *cct = per_cpu_ptr(pool->cpu_comp_tasks, cpu); in comp_task_stop() local
777 spin_lock_irq(&cct->task_lock); in comp_task_stop()
778 cct->cq_jobs = 0; in comp_task_stop()
779 cct->active = 0; in comp_task_stop()
780 WARN_ON(!list_empty(&cct->cq_list)); in comp_task_stop()
781 spin_unlock_irq(&cct->task_lock); in comp_task_stop()
786 struct ehca_cpu_comp_task *cct = per_cpu_ptr(pool->cpu_comp_tasks, cpu); in comp_task_should_run() local
788 return cct->cq_jobs; in comp_task_should_run()
793 struct ehca_cpu_comp_task *cct = this_cpu_ptr(pool->cpu_comp_tasks); in comp_task() local
796 spin_lock_irq(&cct->task_lock); in comp_task()
797 cql_empty = list_empty(&cct->cq_list); in comp_task()
800 run_comp_task(cct); in comp_task()
802 spin_unlock_irq(&cct->task_lock); in comp_task()
836 struct ehca_cpu_comp_task *cct; in ehca_create_comp_pool() local
838 cct = per_cpu_ptr(pool->cpu_comp_tasks, cpu); in ehca_create_comp_pool()
839 spin_lock_init(&cct->task_lock); in ehca_create_comp_pool()
840 INIT_LIST_HEAD(&cct->cq_list); in ehca_create_comp_pool()