Lines Matching refs:cpu_queue
72 struct mcryptd_cpu_queue *cpu_queue; in mcryptd_init_queue() local
74 queue->cpu_queue = alloc_percpu(struct mcryptd_cpu_queue); in mcryptd_init_queue()
75 pr_debug("mqueue:%p mcryptd_cpu_queue %p\n", queue, queue->cpu_queue); in mcryptd_init_queue()
76 if (!queue->cpu_queue) in mcryptd_init_queue()
79 cpu_queue = per_cpu_ptr(queue->cpu_queue, cpu); in mcryptd_init_queue()
80 pr_debug("cpu_queue #%d %p\n", cpu, queue->cpu_queue); in mcryptd_init_queue()
81 crypto_init_queue(&cpu_queue->queue, max_cpu_qlen); in mcryptd_init_queue()
82 INIT_WORK(&cpu_queue->work, mcryptd_queue_worker); in mcryptd_init_queue()
83 spin_lock_init(&cpu_queue->q_lock); in mcryptd_init_queue()
91 struct mcryptd_cpu_queue *cpu_queue; in mcryptd_fini_queue() local
94 cpu_queue = per_cpu_ptr(queue->cpu_queue, cpu); in mcryptd_fini_queue()
95 BUG_ON(cpu_queue->queue.qlen); in mcryptd_fini_queue()
97 free_percpu(queue->cpu_queue); in mcryptd_fini_queue()
105 struct mcryptd_cpu_queue *cpu_queue; in mcryptd_enqueue_request() local
107 cpu_queue = raw_cpu_ptr(queue->cpu_queue); in mcryptd_enqueue_request()
108 spin_lock(&cpu_queue->q_lock); in mcryptd_enqueue_request()
112 err = crypto_enqueue_request(&cpu_queue->queue, request); in mcryptd_enqueue_request()
114 cpu, cpu_queue, request); in mcryptd_enqueue_request()
115 spin_unlock(&cpu_queue->q_lock); in mcryptd_enqueue_request()
116 queue_work_on(cpu, kcrypto_wq, &cpu_queue->work); in mcryptd_enqueue_request()
153 struct mcryptd_cpu_queue *cpu_queue; in mcryptd_queue_worker() local
162 cpu_queue = container_of(work, struct mcryptd_cpu_queue, work); in mcryptd_queue_worker()
166 spin_lock_bh(&cpu_queue->q_lock); in mcryptd_queue_worker()
167 backlog = crypto_get_backlog(&cpu_queue->queue); in mcryptd_queue_worker()
168 req = crypto_dequeue_request(&cpu_queue->queue); in mcryptd_queue_worker()
169 spin_unlock_bh(&cpu_queue->q_lock); in mcryptd_queue_worker()
179 if (!cpu_queue->queue.qlen) in mcryptd_queue_worker()
183 if (cpu_queue->queue.qlen) in mcryptd_queue_worker()
184 queue_work_on(smp_processor_id(), kcrypto_wq, &cpu_queue->work); in mcryptd_queue_worker()