mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 11:33:28 +02:00
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: Yong Zhao <yong.zhao@amd.com> Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
This commit is contained in:
parent
f4fa88ab28
commit
ab40cba303
|
|
@ -527,12 +527,6 @@ struct kfd_process {
|
|||
|
||||
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?*/
|
||||
bool is_32bit_user_mode;
|
||||
|
||||
|
|
|
|||
|
|
@ -34,13 +34,6 @@ struct mm_struct;
|
|||
#include "kfd_priv.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).
|
||||
* Unique/indexed by mm_struct*
|
||||
|
|
@ -187,8 +180,6 @@ static void kfd_process_wq_release(struct work_struct *work)
|
|||
|
||||
mutex_destroy(&p->mutex);
|
||||
|
||||
kfree(p->queues);
|
||||
|
||||
kfree(p);
|
||||
|
||||
kfree(work);
|
||||
|
|
@ -270,11 +261,6 @@ static struct kfd_process *create_process(const struct task_struct *thread)
|
|||
if (!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();
|
||||
if (process->pasid == 0)
|
||||
goto err_alloc_pasid;
|
||||
|
|
@ -297,8 +283,6 @@ static struct kfd_process *create_process(const struct task_struct *thread)
|
|||
|
||||
process->lead_thread = thread->group_leader;
|
||||
|
||||
process->queue_array_size = INITIAL_QUEUE_ARRAY_SIZE;
|
||||
|
||||
INIT_LIST_HEAD(&process->per_device_data);
|
||||
|
||||
kfd_event_init_process(process);
|
||||
|
|
@ -327,8 +311,6 @@ static struct kfd_process *create_process(const struct task_struct *thread)
|
|||
err_alloc_doorbells:
|
||||
kfd_pasid_free(process->pasid);
|
||||
err_alloc_pasid:
|
||||
kfree(process->queues);
|
||||
err_alloc_queues:
|
||||
kfree(process);
|
||||
err_alloc_process:
|
||||
return ERR_PTR(err);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user