提交 ab40cba3 编写于 作者: Y Yong Zhao 提交者: Oded Gabbay

drm/amdkfd: Clean up the data structure in kfd_process

A list of per-process queues is maintained in the
kfd_process_queue_manager, so the queues array in kfd_process is
redundant and in fact unused.
Signed-off-by: NYong Zhao <yong.zhao@amd.com>
Signed-off-by: NFelix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: NOded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
上级 f4fa88ab
...@@ -527,12 +527,6 @@ struct kfd_process { ...@@ -527,12 +527,6 @@ struct kfd_process {
struct process_queue_manager pqm; struct process_queue_manager pqm;
/* The process's queues. */
size_t queue_array_size;
/* Size is queue_array_size, up to MAX_PROCESS_QUEUES. */
struct kfd_queue **queues;
/*Is the user space process 32 bit?*/ /*Is the user space process 32 bit?*/
bool is_32bit_user_mode; bool is_32bit_user_mode;
......
...@@ -34,13 +34,6 @@ struct mm_struct; ...@@ -34,13 +34,6 @@ struct mm_struct;
#include "kfd_priv.h" #include "kfd_priv.h"
#include "kfd_dbgmgr.h" #include "kfd_dbgmgr.h"
/*
* Initial size for the array of queues.
* The allocated size is doubled each time
* it is exceeded up to MAX_PROCESS_QUEUES.
*/
#define INITIAL_QUEUE_ARRAY_SIZE 16
/* /*
* List of struct kfd_process (field kfd_process). * List of struct kfd_process (field kfd_process).
* Unique/indexed by mm_struct* * Unique/indexed by mm_struct*
...@@ -187,8 +180,6 @@ static void kfd_process_wq_release(struct work_struct *work) ...@@ -187,8 +180,6 @@ static void kfd_process_wq_release(struct work_struct *work)
mutex_destroy(&p->mutex); mutex_destroy(&p->mutex);
kfree(p->queues);
kfree(p); kfree(p);
kfree(work); kfree(work);
...@@ -270,11 +261,6 @@ static struct kfd_process *create_process(const struct task_struct *thread) ...@@ -270,11 +261,6 @@ static struct kfd_process *create_process(const struct task_struct *thread)
if (!process) if (!process)
goto err_alloc_process; goto err_alloc_process;
process->queues = kmalloc_array(INITIAL_QUEUE_ARRAY_SIZE,
sizeof(process->queues[0]), GFP_KERNEL);
if (!process->queues)
goto err_alloc_queues;
process->pasid = kfd_pasid_alloc(); process->pasid = kfd_pasid_alloc();
if (process->pasid == 0) if (process->pasid == 0)
goto err_alloc_pasid; goto err_alloc_pasid;
...@@ -297,8 +283,6 @@ static struct kfd_process *create_process(const struct task_struct *thread) ...@@ -297,8 +283,6 @@ static struct kfd_process *create_process(const struct task_struct *thread)
process->lead_thread = thread->group_leader; process->lead_thread = thread->group_leader;
process->queue_array_size = INITIAL_QUEUE_ARRAY_SIZE;
INIT_LIST_HEAD(&process->per_device_data); INIT_LIST_HEAD(&process->per_device_data);
kfd_event_init_process(process); kfd_event_init_process(process);
...@@ -327,8 +311,6 @@ static struct kfd_process *create_process(const struct task_struct *thread) ...@@ -327,8 +311,6 @@ static struct kfd_process *create_process(const struct task_struct *thread)
err_alloc_doorbells: err_alloc_doorbells:
kfd_pasid_free(process->pasid); kfd_pasid_free(process->pasid);
err_alloc_pasid: err_alloc_pasid:
kfree(process->queues);
err_alloc_queues:
kfree(process); kfree(process);
err_alloc_process: err_alloc_process:
return ERR_PTR(err); return ERR_PTR(err);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册