[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