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>