2024-02-08 12:39:49

by Vadim Fedorenko

[permalink] [raw]
Subject: Re: [PATCH][next] drivers: net: xgene: remove redundant assignment to variable offset

On 08.02.2024 12:20, Colin Ian King wrote:
> The variable offset is being initialized with a value that is never
> read, it is being re-assigned later on in either path of an if
> statement before being used. The initialization is redundant and
> can be removed.
>
> Cleans up clang scan build warning:
> drivers/net/ethernet/apm/xgene/xgene_enet_cle.c:736:2: warning: Value
> stored to 'offset' is never read [deadcode.DeadStores]
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/net/ethernet/apm/xgene/xgene_enet_cle.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
> index de5464322311..8f104642897b 100644
> --- a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
> +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
> @@ -733,7 +733,6 @@ static int xgene_cle_setup_rss(struct xgene_enet_pdata *pdata)
> u32 offset, val = 0;
> int i, ret = 0;
>
> - offset = CLE_PORT_OFFSET;
> for (i = 0; i < cle->parsers; i++) {
> if (cle->active_parser != PARSER_ALL)
> offset = cle->active_parser * CLE_PORT_OFFSET;

It looks like more refactoring can be done here.
"if (cle->active_parser != PARSER_ALL)" is static, no need to check it inside
the loop.



2024-02-08 13:42:33

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH][next] drivers: net: xgene: remove redundant assignment to variable offset

On Thu, Feb 08, 2024 at 12:39:24PM +0000, Vadim Fedorenko wrote:
> On 08.02.2024 12:20, Colin Ian King wrote:
> > The variable offset is being initialized with a value that is never
> > read, it is being re-assigned later on in either path of an if
> > statement before being used. The initialization is redundant and
> > can be removed.
> >
> > Cleans up clang scan build warning:
> > drivers/net/ethernet/apm/xgene/xgene_enet_cle.c:736:2: warning: Value
> > stored to 'offset' is never read [deadcode.DeadStores]
> >
> > Signed-off-by: Colin Ian King <[email protected]>
> > ---
> > drivers/net/ethernet/apm/xgene/xgene_enet_cle.c | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
> > index de5464322311..8f104642897b 100644
> > --- a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
> > +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
> > @@ -733,7 +733,6 @@ static int xgene_cle_setup_rss(struct xgene_enet_pdata *pdata)
> > u32 offset, val = 0;
> > int i, ret = 0;
> > - offset = CLE_PORT_OFFSET;
> > for (i = 0; i < cle->parsers; i++) {
> > if (cle->active_parser != PARSER_ALL)
> > offset = cle->active_parser * CLE_PORT_OFFSET;
>
> It looks like more refactoring can be done here.
> "if (cle->active_parser != PARSER_ALL)" is static, no need to check it inside
> the loop.
>

You still need to check... I don't really think it's an improvement.

regards,
dan carpenter

diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
index de5464322311..61e31cc55771 100644
--- a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
+++ b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
@@ -733,11 +733,11 @@ static int xgene_cle_setup_rss(struct xgene_enet_pdata *pdata)
u32 offset, val = 0;
int i, ret = 0;

- offset = CLE_PORT_OFFSET;
+ if (cle->active_parser != PARSER_ALL)
+ offset = cle->active_parser * CLE_PORT_OFFSET;
+
for (i = 0; i < cle->parsers; i++) {
- if (cle->active_parser != PARSER_ALL)
- offset = cle->active_parser * CLE_PORT_OFFSET;
- else
+ if (cle->active_parser == PARSER_ALL)
offset = i * CLE_PORT_OFFSET;

/* enable RSS */

2024-02-08 15:07:56

by Vadim Fedorenko

[permalink] [raw]
Subject: Re: [PATCH][next] drivers: net: xgene: remove redundant assignment to variable offset

On 08/02/2024 13:40, Dan Carpenter wrote:
> On Thu, Feb 08, 2024 at 12:39:24PM +0000, Vadim Fedorenko wrote:
>> On 08.02.2024 12:20, Colin Ian King wrote:
>>> The variable offset is being initialized with a value that is never
>>> read, it is being re-assigned later on in either path of an if
>>> statement before being used. The initialization is redundant and
>>> can be removed.
>>>
>>> Cleans up clang scan build warning:
>>> drivers/net/ethernet/apm/xgene/xgene_enet_cle.c:736:2: warning: Value
>>> stored to 'offset' is never read [deadcode.DeadStores]
>>>
>>> Signed-off-by: Colin Ian King <[email protected]>
>>> ---
>>> drivers/net/ethernet/apm/xgene/xgene_enet_cle.c | 1 -
>>> 1 file changed, 1 deletion(-)
>>>
>>> diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
>>> index de5464322311..8f104642897b 100644
>>> --- a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
>>> +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
>>> @@ -733,7 +733,6 @@ static int xgene_cle_setup_rss(struct xgene_enet_pdata *pdata)
>>> u32 offset, val = 0;
>>> int i, ret = 0;
>>> - offset = CLE_PORT_OFFSET;
>>> for (i = 0; i < cle->parsers; i++) {
>>> if (cle->active_parser != PARSER_ALL)
>>> offset = cle->active_parser * CLE_PORT_OFFSET;
>>
>> It looks like more refactoring can be done here.
>> "if (cle->active_parser != PARSER_ALL)" is static, no need to check it inside
>> the loop.
>>
>
> You still need to check... I don't really think it's an improvement.
>
> regards,
> dan carpenter
>
> diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
> index de5464322311..61e31cc55771 100644
> --- a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
> +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
> @@ -733,11 +733,11 @@ static int xgene_cle_setup_rss(struct xgene_enet_pdata *pdata)
> u32 offset, val = 0;
> int i, ret = 0;
>
> - offset = CLE_PORT_OFFSET;
> + if (cle->active_parser != PARSER_ALL)
> + offset = cle->active_parser * CLE_PORT_OFFSET;
> +

I think we can add "else" here and avoid the loop in case of !=
PARSER_ALL and avoid "if" in the loop, wdyt?

> for (i = 0; i < cle->parsers; i++) {
> - if (cle->active_parser != PARSER_ALL)
> - offset = cle->active_parser * CLE_PORT_OFFSET;
> - else
> + if (cle->active_parser == PARSER_ALL)
> offset = i * CLE_PORT_OFFSET;
>
> /* enable RSS */