Lines Matching refs:process
80 struct kfd_process *process; in kfd_create_process() local
102 process = find_process(thread); in kfd_create_process()
103 if (process) in kfd_create_process()
106 if (!process) in kfd_create_process()
107 process = create_process(thread); in kfd_create_process()
113 return process; in kfd_create_process()
118 struct kfd_process *process; in kfd_get_process() local
127 process = find_process(thread); in kfd_get_process()
129 return process; in kfd_get_process()
134 struct kfd_process *process; in find_process_by_mm() local
136 hash_for_each_possible_rcu(kfd_processes_table, process, in find_process_by_mm()
138 if (process->mm == mm) in find_process_by_mm()
139 return process; in find_process_by_mm()
271 struct kfd_process *process; in create_process() local
274 process = kzalloc(sizeof(*process), GFP_KERNEL); in create_process()
276 if (!process) in create_process()
279 process->queues = kmalloc_array(INITIAL_QUEUE_ARRAY_SIZE, in create_process()
280 sizeof(process->queues[0]), GFP_KERNEL); in create_process()
281 if (!process->queues) in create_process()
284 process->pasid = kfd_pasid_alloc(); in create_process()
285 if (process->pasid == 0) in create_process()
288 mutex_init(&process->mutex); in create_process()
290 process->mm = thread->mm; in create_process()
293 process->mmu_notifier.ops = &kfd_process_mmu_notifier_ops; in create_process()
294 err = __mmu_notifier_register(&process->mmu_notifier, process->mm); in create_process()
298 hash_add_rcu(kfd_processes_table, &process->kfd_processes, in create_process()
299 (uintptr_t)process->mm); in create_process()
301 process->lead_thread = thread->group_leader; in create_process()
303 process->queue_array_size = INITIAL_QUEUE_ARRAY_SIZE; in create_process()
305 INIT_LIST_HEAD(&process->per_device_data); in create_process()
307 kfd_event_init_process(process); in create_process()
309 err = pqm_init(&process->pqm, process); in create_process()
314 process->is_32bit_user_mode = is_compat_task(); in create_process()
315 if (kfd_init_apertures(process) != 0) in create_process()
318 return process; in create_process()
321 pqm_uninit(&process->pqm); in create_process()
323 hash_del_rcu(&process->kfd_processes); in create_process()
325 mmu_notifier_unregister_no_release(&process->mmu_notifier, process->mm); in create_process()
327 kfd_pasid_free(process->pasid); in create_process()
329 kfree(process->queues); in create_process()
331 kfree(process); in create_process()