Lines Matching refs:process
184 mm = get_task_mm(pdd->process->lead_thread); in kfd_sdma_activity_worker()
281 proc = pdd->process; in kfd_get_cu_occupancy()
498 if (!q || !q->process) in kfd_procfs_add_queue()
500 proc = q->process; in kfd_procfs_add_queue()
800 struct kfd_process *process; in kfd_create_process() local
819 process = find_process(thread); in kfd_create_process()
820 if (process) { in kfd_create_process()
823 process = create_process(thread); in kfd_create_process()
824 if (IS_ERR(process)) in kfd_create_process()
827 ret = kfd_process_init_cwsr_apu(process, filep); in kfd_create_process()
834 process->kobj = kfd_alloc_struct(process->kobj); in kfd_create_process()
835 if (!process->kobj) { in kfd_create_process()
839 ret = kobject_init_and_add(process->kobj, &procfs_type, in kfd_create_process()
841 (int)process->lead_thread->pid); in kfd_create_process()
844 kobject_put(process->kobj); in kfd_create_process()
848 kfd_sysfs_create_file(process->kobj, &process->attr_pasid, in kfd_create_process()
851 process->kobj_queues = kobject_create_and_add("queues", in kfd_create_process()
852 process->kobj); in kfd_create_process()
853 if (!process->kobj_queues) in kfd_create_process()
856 kfd_procfs_add_sysfs_stats(process); in kfd_create_process()
857 kfd_procfs_add_sysfs_files(process); in kfd_create_process()
858 kfd_procfs_add_sysfs_counters(process); in kfd_create_process()
861 if (!IS_ERR(process)) in kfd_create_process()
862 kref_get(&process->ref); in kfd_create_process()
865 return process; in kfd_create_process()
868 hash_del_rcu(&process->kfd_processes); in kfd_create_process()
872 mmu_notifier_put(&process->mmu_notifier); in kfd_create_process()
878 struct kfd_process *process; in kfd_get_process() local
887 process = find_process(thread); in kfd_get_process()
888 if (!process) in kfd_get_process()
891 return process; in kfd_get_process()
896 struct kfd_process *process; in find_process_by_mm() local
898 hash_for_each_possible_rcu(kfd_processes_table, process, in find_process_by_mm()
900 if (process->mm == mm) in find_process_by_mm()
901 return process; in find_process_by_mm()
926 struct kfd_process *p = pdd->process; in kfd_process_device_free_bos()
1351 struct kfd_process *process; in create_process() local
1355 process = kzalloc(sizeof(*process), GFP_KERNEL); in create_process()
1356 if (!process) in create_process()
1359 kref_init(&process->ref); in create_process()
1360 mutex_init(&process->mutex); in create_process()
1361 process->mm = thread->mm; in create_process()
1362 process->lead_thread = thread->group_leader; in create_process()
1363 process->n_pdds = 0; in create_process()
1364 INIT_DELAYED_WORK(&process->eviction_work, evict_process_worker); in create_process()
1365 INIT_DELAYED_WORK(&process->restore_work, restore_process_worker); in create_process()
1366 process->last_restore_timestamp = get_jiffies_64(); in create_process()
1367 kfd_event_init_process(process); in create_process()
1368 process->is_32bit_user_mode = in_compat_syscall(); in create_process()
1370 process->pasid = kfd_pasid_alloc(); in create_process()
1371 if (process->pasid == 0) in create_process()
1374 err = pqm_init(&process->pqm, process); in create_process()
1379 err = kfd_init_apertures(process); in create_process()
1384 process->xnack_enabled = kfd_process_xnack_mode(process, false); in create_process()
1386 err = svm_range_list_init(process); in create_process()
1391 hash_add_rcu(kfd_processes_table, &process->kfd_processes, in create_process()
1392 (uintptr_t)process->mm); in create_process()
1399 mn = mmu_notifier_get(&kfd_process_mmu_notifier_ops, process->mm); in create_process()
1404 BUG_ON(mn != &process->mmu_notifier); in create_process()
1406 get_task_struct(process->lead_thread); in create_process()
1408 return process; in create_process()
1411 hash_del_rcu(&process->kfd_processes); in create_process()
1412 svm_range_list_fini(process); in create_process()
1414 kfd_process_free_outstanding_kfd_bos(process); in create_process()
1415 kfd_process_destroy_pdds(process); in create_process()
1417 pqm_uninit(&process->pqm); in create_process()
1419 kfd_pasid_free(process->pasid); in create_process()
1421 mutex_destroy(&process->mutex); in create_process()
1422 kfree(process); in create_process()
1500 pdd->process = p; in kfd_create_process_device_data()
1546 p = pdd->process; in kfd_process_device_init_vm()
1914 int kfd_reserved_mem_mmap(struct kfd_dev *dev, struct kfd_process *process, in kfd_reserved_mem_mmap() argument
1925 pdd = kfd_get_process_device_data(dev, process); in kfd_reserved_mem_mmap()
1958 pdd->process->pasid, type); in kfd_flush_tlb()