[PATCH 1/8] drm/amdkfd: Clean up the data structure in kfd_process
Oded Gabbay
oded.gabbay at gmail.com
Wed Nov 1 09:34:53 UTC 2017
On Thu, Oct 26, 2017 at 1:41 AM, Felix Kuehling <Felix.Kuehling at amd.com> wrote:
> From: Yong Zhao <yong.zhao at amd.com>
>
> 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 at amd.com>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
> ---
> drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 6 ------
> drivers/gpu/drm/amd/amdkfd/kfd_process.c | 18 ------------------
> 2 files changed, 24 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
> index bf29021..3b0cc20 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
> @@ -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;
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> index 21d27e5..f871855 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> @@ -35,13 +35,6 @@ struct mm_struct;
> #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);
> @@ -275,11 +266,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;
> @@ -302,8 +288,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);
> @@ -332,8 +316,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);
> --
> 2.7.4
>
This patch is:
Reviewed-by: Oded Gabbay <oded.gabbay at gmail.com>
More information about the amd-gfx
mailing list