2023-06-12 12:07:54

by Lu Hongfei

[permalink] [raw]
Subject: [PATCH v2] gpu: drm/amd: Remove the redundant null pointer check in list_for_each_entry() loops

pqn bound in list_for_each_entry loop will not be null, so there is
no need to check whether pqn is NULL or not.
Thus remove a redundant null pointer check.

Signed-off-by: Lu Hongfei <[email protected]>
---
The filename of the previous version was:
0001-gpu-drm-amd-Fix-the-bug-in-list_for_each_entry-loops.patch

The modifications made compared to the previous version are as follows:
1. Modified the patch title
2. "Thus remove a redundant null pointer check." is used instead of
"We could remove this check."

drivers/gpu/drm/amd/amdkfd/kfd_debug.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_debug.c b/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
index cd34e7aaead4..10d0cef844f0 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
@@ -1097,9 +1097,6 @@ void kfd_dbg_set_enabled_debug_exception_mask(struct kfd_process *target,

pqm = &target->pqm;
list_for_each_entry(pqn, &pqm->queues, process_queue_list) {
- if (!pqn)
- continue;
-
found_mask |= pqn->q->properties.exception_status;
}

--
2.39.0



2023-06-12 15:57:25

by Felix Kuehling

[permalink] [raw]
Subject: Re: [PATCH v2] gpu: drm/amd: Remove the redundant null pointer check in list_for_each_entry() loops

[+Jon]

Am 2023-06-12 um 07:58 schrieb Lu Hongfei:
> pqn bound in list_for_each_entry loop will not be null, so there is
> no need to check whether pqn is NULL or not.
> Thus remove a redundant null pointer check.
>
> Signed-off-by: Lu Hongfei <[email protected]>
> ---
> The filename of the previous version was:
> 0001-gpu-drm-amd-Fix-the-bug-in-list_for_each_entry-loops.patch
>
> The modifications made compared to the previous version are as follows:
> 1. Modified the patch title
> 2. "Thus remove a redundant null pointer check." is used instead of
> "We could remove this check."
>
> drivers/gpu/drm/amd/amdkfd/kfd_debug.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_debug.c b/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
> index cd34e7aaead4..10d0cef844f0 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
> @@ -1097,9 +1097,6 @@ void kfd_dbg_set_enabled_debug_exception_mask(struct kfd_process *target,
>
> pqm = &target->pqm;
> list_for_each_entry(pqn, &pqm->queues, process_queue_list) {
> - if (!pqn)

Right, this check doesn't make a lot of sense. Jon, was this meant to
check pqn->q?

Regards,
  Felix


> - continue;
> -
> found_mask |= pqn->q->properties.exception_status;
> }
>

2023-06-12 16:37:23

by Kim, Jonathan

[permalink] [raw]
Subject: RE: [PATCH v2] gpu: drm/amd: Remove the redundant null pointer check in list_for_each_entry() loops

[Public]

> -----Original Message-----
> From: Kuehling, Felix <[email protected]>
> Sent: Monday, June 12, 2023 11:25 AM
> To: Lu Hongfei <[email protected]>; Deucher, Alexander
> <[email protected]>; Koenig, Christian
> <[email protected]>; Pan, Xinhui <[email protected]>; David
> Airlie <[email protected]>; Daniel Vetter <[email protected]>; open list:AMD
> KFD <[email protected]>; open list:DRM DRIVERS <dri-
> [email protected]>; open list <[email protected]>; Kim,
> Jonathan <[email protected]>
> Cc: [email protected]
> Subject: Re: [PATCH v2] gpu: drm/amd: Remove the redundant null pointer
> check in list_for_each_entry() loops
>
> [+Jon]
>
> Am 2023-06-12 um 07:58 schrieb Lu Hongfei:
> > pqn bound in list_for_each_entry loop will not be null, so there is
> > no need to check whether pqn is NULL or not.
> > Thus remove a redundant null pointer check.
> >
> > Signed-off-by: Lu Hongfei <[email protected]>
> > ---
> > The filename of the previous version was:
> > 0001-gpu-drm-amd-Fix-the-bug-in-list_for_each_entry-loops.patch
> >
> > The modifications made compared to the previous version are as follows:
> > 1. Modified the patch title
> > 2. "Thus remove a redundant null pointer check." is used instead of
> > "We could remove this check."
> >
> > drivers/gpu/drm/amd/amdkfd/kfd_debug.c | 3 ---
> > 1 file changed, 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
> b/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
> > index cd34e7aaead4..10d0cef844f0 100644
> > --- a/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
> > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
> > @@ -1097,9 +1097,6 @@ void
> kfd_dbg_set_enabled_debug_exception_mask(struct kfd_process *target,
> >
> > pqm = &target->pqm;
> > list_for_each_entry(pqn, &pqm->queues, process_queue_list) {
> > - if (!pqn)
>
> Right, this check doesn't make a lot of sense. Jon, was this meant to
> check pqn->q?

Yes that's a bug. It should be a null check on the queue itself.
I'll send out the fix shortly.

Thanks,

Jon

>
> Regards,
> Felix
>
>
> > - continue;
> > -
> > found_mask |= pqn->q->properties.exception_status;
> > }
> >