Lines Matching refs:process
79 struct kfd_process *process; in kfd_create_process() local
101 process = find_process(thread); in kfd_create_process()
102 if (process) in kfd_create_process()
105 if (!process) in kfd_create_process()
106 process = create_process(thread); in kfd_create_process()
112 return process; in kfd_create_process()
117 struct kfd_process *process; in kfd_get_process() local
126 process = find_process(thread); in kfd_get_process()
128 return process; in kfd_get_process()
133 struct kfd_process *process; in find_process_by_mm() local
135 hash_for_each_possible_rcu(kfd_processes_table, process, in find_process_by_mm()
137 if (process->mm == mm) in find_process_by_mm()
138 return process; in find_process_by_mm()
256 struct kfd_process *process; in create_process() local
259 process = kzalloc(sizeof(*process), GFP_KERNEL); in create_process()
261 if (!process) in create_process()
264 process->queues = kmalloc_array(INITIAL_QUEUE_ARRAY_SIZE, in create_process()
265 sizeof(process->queues[0]), GFP_KERNEL); in create_process()
266 if (!process->queues) in create_process()
269 process->pasid = kfd_pasid_alloc(); in create_process()
270 if (process->pasid == 0) in create_process()
273 mutex_init(&process->mutex); in create_process()
275 process->mm = thread->mm; in create_process()
278 process->mmu_notifier.ops = &kfd_process_mmu_notifier_ops; in create_process()
279 err = __mmu_notifier_register(&process->mmu_notifier, process->mm); in create_process()
283 hash_add_rcu(kfd_processes_table, &process->kfd_processes, in create_process()
284 (uintptr_t)process->mm); in create_process()
286 process->lead_thread = thread->group_leader; in create_process()
288 process->queue_array_size = INITIAL_QUEUE_ARRAY_SIZE; in create_process()
290 INIT_LIST_HEAD(&process->per_device_data); in create_process()
292 err = pqm_init(&process->pqm, process); in create_process()
297 process->is_32bit_user_mode = is_compat_task(); in create_process()
298 if (kfd_init_apertures(process) != 0) in create_process()
301 return process; in create_process()
304 pqm_uninit(&process->pqm); in create_process()
306 hash_del_rcu(&process->kfd_processes); in create_process()
308 mmu_notifier_unregister_no_release(&process->mmu_notifier, process->mm); in create_process()
310 kfd_pasid_free(process->pasid); in create_process()
312 kfree(process->queues); in create_process()
314 kfree(process); in create_process()