Lines Matching refs:process
185 mm = get_task_mm(pdd->process->lead_thread); in kfd_sdma_activity_worker()
284 proc = pdd->process; in kfd_get_cu_occupancy()
526 if (!q || !q->process) in kfd_procfs_add_queue()
528 proc = q->process; in kfd_procfs_add_queue()
830 struct kfd_process *process; in kfd_create_process() local
859 process = ERR_PTR(-EINVAL); in kfd_create_process()
866 process = find_process(thread, true); in kfd_create_process()
867 if (process) { in kfd_create_process()
870 process = create_process(thread); in kfd_create_process()
871 if (IS_ERR(process)) in kfd_create_process()
877 process->kobj = kfd_alloc_struct(process->kobj); in kfd_create_process()
878 if (!process->kobj) { in kfd_create_process()
882 ret = kobject_init_and_add(process->kobj, &procfs_type, in kfd_create_process()
884 (int)process->lead_thread->pid); in kfd_create_process()
887 kobject_put(process->kobj); in kfd_create_process()
891 kfd_sysfs_create_file(process->kobj, &process->attr_pasid, in kfd_create_process()
894 process->kobj_queues = kobject_create_and_add("queues", in kfd_create_process()
895 process->kobj); in kfd_create_process()
896 if (!process->kobj_queues) in kfd_create_process()
899 kfd_procfs_add_sysfs_stats(process); in kfd_create_process()
900 kfd_procfs_add_sysfs_files(process); in kfd_create_process()
901 kfd_procfs_add_sysfs_counters(process); in kfd_create_process()
903 kfd_debugfs_add_process(process); in kfd_create_process()
905 init_waitqueue_head(&process->wait_irq_drain); in kfd_create_process()
911 return process; in kfd_create_process()
916 struct kfd_process *process; in kfd_get_process() local
925 process = find_process(thread, false); in kfd_get_process()
926 if (!process) in kfd_get_process()
929 return process; in kfd_get_process()
934 struct kfd_process *process; in find_process_by_mm() local
936 hash_for_each_possible_rcu(kfd_processes_table, process, in find_process_by_mm()
938 if (process->mm == mm) in find_process_by_mm()
939 return process; in find_process_by_mm()
987 struct kfd_process *p = pdd->process; in kfd_process_device_free_bos()
1406 pdd->process->debug_trap_enabled); in kfd_process_device_init_cwsr_dgpu()
1515 struct kfd_process *process; in create_process() local
1519 process = kzalloc(sizeof(*process), GFP_KERNEL); in create_process()
1520 if (!process) in create_process()
1523 kref_init(&process->ref); in create_process()
1524 mutex_init(&process->mutex); in create_process()
1525 process->mm = thread->mm; in create_process()
1526 process->lead_thread = thread->group_leader; in create_process()
1527 process->n_pdds = 0; in create_process()
1528 process->queues_paused = false; in create_process()
1529 INIT_DELAYED_WORK(&process->eviction_work, evict_process_worker); in create_process()
1530 INIT_DELAYED_WORK(&process->restore_work, restore_process_worker); in create_process()
1531 process->last_restore_timestamp = get_jiffies_64(); in create_process()
1532 err = kfd_event_init_process(process); in create_process()
1535 process->is_32bit_user_mode = in_compat_syscall(); in create_process()
1536 process->debug_trap_enabled = false; in create_process()
1537 process->debugger_process = NULL; in create_process()
1538 process->exception_enable_mask = 0; in create_process()
1539 atomic_set(&process->debugged_process_count, 0); in create_process()
1540 sema_init(&process->runtime_enable_sema, 0); in create_process()
1542 err = pqm_init(&process->pqm, process); in create_process()
1547 err = kfd_init_apertures(process); in create_process()
1552 process->xnack_enabled = kfd_process_xnack_mode(process, false); in create_process()
1554 err = svm_range_list_init(process); in create_process()
1559 hash_add_rcu(kfd_processes_table, &process->kfd_processes, in create_process()
1560 (uintptr_t)process->mm); in create_process()
1565 kref_get(&process->ref); in create_process()
1572 mn = mmu_notifier_get(&kfd_process_mmu_notifier_ops, process->mm); in create_process()
1577 BUG_ON(mn != &process->mmu_notifier); in create_process()
1579 kfd_unref_process(process); in create_process()
1580 get_task_struct(process->lead_thread); in create_process()
1582 INIT_WORK(&process->debug_event_workarea, debug_event_write_work_handler); in create_process()
1584 return process; in create_process()
1587 hash_del_rcu(&process->kfd_processes); in create_process()
1588 svm_range_list_fini(process); in create_process()
1590 kfd_process_free_outstanding_kfd_bos(process); in create_process()
1591 kfd_process_destroy_pdds(process); in create_process()
1593 pqm_uninit(&process->pqm); in create_process()
1595 kfd_event_free_process(process); in create_process()
1597 mutex_destroy(&process->mutex); in create_process()
1598 kfree(process); in create_process()
1633 pdd->process = p; in kfd_create_process_device_data()
1690 p = pdd->process; in kfd_process_device_init_vm()
1845 kref_get(&ret_p->process->ref); in kfd_lookup_process_by_pasid()
1848 return ret_p->process; in kfd_lookup_process_by_pasid()
2120 int kfd_reserved_mem_mmap(struct kfd_node *dev, struct kfd_process *process, in kfd_reserved_mem_mmap() argument
2131 pdd = kfd_get_process_device_data(dev, process); in kfd_reserved_mem_mmap()
2162 pdd->process->irq_drain_is_open = true; in kfd_process_drain_interrupts()
2182 pdd->process->irq_drain_is_open = false; in kfd_process_drain_interrupts()
2186 r = wait_event_interruptible(pdd->process->wait_irq_drain, in kfd_process_drain_interrupts()
2187 !READ_ONCE(pdd->process->irq_drain_is_open)); in kfd_process_drain_interrupts()
2189 pdd->process->irq_drain_is_open = false; in kfd_process_drain_interrupts()