* [PATCH][next] mlxsw: spectrum_router: remove redundant initialization of variable force
@ 2021-03-27 22:33 Colin King
2021-03-29 6:04 ` Dan Carpenter
2021-03-29 7:13 ` Ido Schimmel
0 siblings, 2 replies; 5+ messages in thread
From: Colin King @ 2021-03-27 22:33 UTC (permalink / raw)
To: Jiri Pirko, Ido Schimmel, David S . Miller, Jakub Kicinski,
netdev
Cc: kernel-janitors, linux-kernel
From: Colin Ian King <colin.king@canonical.com>
The variable force is being initialized with a value that is
never read and it is being updated later with a new value. The
initialization is redundant and can be removed.
Addresses-Coverity: ("Unused value")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
index 6ccaa194733b..ff240e3c29f7 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
@@ -5059,7 +5059,7 @@ mlxsw_sp_nexthop_obj_bucket_adj_update(struct mlxsw_sp *mlxsw_sp,
{
u16 bucket_index = info->nh_res_bucket->bucket_index;
struct netlink_ext_ack *extack = info->extack;
- bool force = info->nh_res_bucket->force;
+ bool force;
char ratr_pl_new[MLXSW_REG_RATR_LEN];
char ratr_pl[MLXSW_REG_RATR_LEN];
u32 adj_index;
--
2.30.2
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH][next] mlxsw: spectrum_router: remove redundant initialization of variable force 2021-03-27 22:33 [PATCH][next] mlxsw: spectrum_router: remove redundant initialization of variable force Colin King @ 2021-03-29 6:04 ` Dan Carpenter 2021-04-09 9:11 ` Joe Perches 2021-03-29 7:13 ` Ido Schimmel 1 sibling, 1 reply; 5+ messages in thread From: Dan Carpenter @ 2021-03-29 6:04 UTC (permalink / raw) To: Colin King Cc: Jiri Pirko, Ido Schimmel, David S . Miller, Jakub Kicinski, netdev, kernel-janitors, linux-kernel On Sat, Mar 27, 2021 at 10:33:34PM +0000, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > The variable force is being initialized with a value that is > never read and it is being updated later with a new value. The > initialization is redundant and can be removed. > > Addresses-Coverity: ("Unused value") > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > index 6ccaa194733b..ff240e3c29f7 100644 > --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > @@ -5059,7 +5059,7 @@ mlxsw_sp_nexthop_obj_bucket_adj_update(struct mlxsw_sp *mlxsw_sp, > { > u16 bucket_index = info->nh_res_bucket->bucket_index; > struct netlink_ext_ack *extack = info->extack; > - bool force = info->nh_res_bucket->force; > + bool force; > char ratr_pl_new[MLXSW_REG_RATR_LEN]; > char ratr_pl[MLXSW_REG_RATR_LEN]; > u32 adj_index; Reverse Christmas tree. regards, dan carpenter ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH][next] mlxsw: spectrum_router: remove redundant initialization of variable force 2021-03-29 6:04 ` Dan Carpenter @ 2021-04-09 9:11 ` Joe Perches 0 siblings, 0 replies; 5+ messages in thread From: Joe Perches @ 2021-04-09 9:11 UTC (permalink / raw) To: Dan Carpenter, Colin King Cc: Jiri Pirko, Ido Schimmel, David S . Miller, Jakub Kicinski, netdev, kernel-janitors, linux-kernel On Mon, 2021-03-29 at 09:04 +0300, Dan Carpenter wrote: > On Sat, Mar 27, 2021 at 10:33:34PM +0000, Colin King wrote: > > From: Colin Ian King <colin.king@canonical.com> > > > > The variable force is being initialized with a value that is > > never read and it is being updated later with a new value. The > > initialization is redundant and can be removed. > > > > Addresses-Coverity: ("Unused value") > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > > --- > > drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > > index 6ccaa194733b..ff240e3c29f7 100644 > > --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > > +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > > @@ -5059,7 +5059,7 @@ mlxsw_sp_nexthop_obj_bucket_adj_update(struct mlxsw_sp *mlxsw_sp, > > { > > u16 bucket_index = info->nh_res_bucket->bucket_index; > > struct netlink_ext_ack *extack = info->extack; > > - bool force = info->nh_res_bucket->force; > > + bool force; > > char ratr_pl_new[MLXSW_REG_RATR_LEN]; > > char ratr_pl[MLXSW_REG_RATR_LEN]; > > u32 adj_index; > > Reverse Christmas tree. Is still terrible style. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH][next] mlxsw: spectrum_router: remove redundant initialization of variable force 2021-03-27 22:33 [PATCH][next] mlxsw: spectrum_router: remove redundant initialization of variable force Colin King 2021-03-29 6:04 ` Dan Carpenter @ 2021-03-29 7:13 ` Ido Schimmel 2021-04-09 9:03 ` Colin Ian King 1 sibling, 1 reply; 5+ messages in thread From: Ido Schimmel @ 2021-03-29 7:13 UTC (permalink / raw) To: Colin King Cc: Jiri Pirko, Ido Schimmel, David S . Miller, Jakub Kicinski, netdev, kernel-janitors, linux-kernel, petrm On Sat, Mar 27, 2021 at 10:33:34PM +0000, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > The variable force is being initialized with a value that is > never read and it is being updated later with a new value. The > initialization is redundant and can be removed. > > Addresses-Coverity: ("Unused value") > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > index 6ccaa194733b..ff240e3c29f7 100644 > --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > @@ -5059,7 +5059,7 @@ mlxsw_sp_nexthop_obj_bucket_adj_update(struct mlxsw_sp *mlxsw_sp, > { > u16 bucket_index = info->nh_res_bucket->bucket_index; > struct netlink_ext_ack *extack = info->extack; > - bool force = info->nh_res_bucket->force; > + bool force; Actually, there is a bug to be fixed here: ``` diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c index 6ccaa194733b..41259c0004d1 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c @@ -5068,8 +5068,9 @@ mlxsw_sp_nexthop_obj_bucket_adj_update(struct mlxsw_sp *mlxsw_sp, /* No point in trying an atomic replacement if the idle timer interval * is smaller than the interval in which we query and clear activity. */ - force = info->nh_res_bucket->idle_timer_ms < - MLXSW_SP_NH_GRP_ACTIVITY_UPDATE_INTERVAL; + if (!force && info->nh_res_bucket->idle_timer_ms < + MLXSW_SP_NH_GRP_ACTIVITY_UPDATE_INTERVAL) + force = true; adj_index = nh->nhgi->adj_index + bucket_index; err = mlxsw_sp_nexthop_update(mlxsw_sp, adj_index, nh, force, ratr_pl); ``` We should only fallback to a non-atomic replacement when the current replacement is atomic and the idle timer is too short. We currently ignore the value of 'force'. This means that a non-atomic replacement ('force' is true) can be made atomic if idle timer is larger than 1 second. Colin, do you mind if I submit it formally as a fix later this week? I want to run it through our usual process. Will mention you in Reported-by, obviously. > char ratr_pl_new[MLXSW_REG_RATR_LEN]; > char ratr_pl[MLXSW_REG_RATR_LEN]; > u32 adj_index; > -- > 2.30.2 > ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH][next] mlxsw: spectrum_router: remove redundant initialization of variable force 2021-03-29 7:13 ` Ido Schimmel @ 2021-04-09 9:03 ` Colin Ian King 0 siblings, 0 replies; 5+ messages in thread From: Colin Ian King @ 2021-04-09 9:03 UTC (permalink / raw) To: Ido Schimmel Cc: Jiri Pirko, Ido Schimmel, David S . Miller, Jakub Kicinski, netdev, kernel-janitors, linux-kernel, petrm On 29/03/2021 08:13, Ido Schimmel wrote: > On Sat, Mar 27, 2021 at 10:33:34PM +0000, Colin King wrote: >> From: Colin Ian King <colin.king@canonical.com> >> >> The variable force is being initialized with a value that is >> never read and it is being updated later with a new value. The >> initialization is redundant and can be removed. >> >> Addresses-Coverity: ("Unused value") >> Signed-off-by: Colin Ian King <colin.king@canonical.com> >> --- >> drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c >> index 6ccaa194733b..ff240e3c29f7 100644 >> --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c >> +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c >> @@ -5059,7 +5059,7 @@ mlxsw_sp_nexthop_obj_bucket_adj_update(struct mlxsw_sp *mlxsw_sp, >> { >> u16 bucket_index = info->nh_res_bucket->bucket_index; >> struct netlink_ext_ack *extack = info->extack; >> - bool force = info->nh_res_bucket->force; >> + bool force; > > Actually, there is a bug to be fixed here: > > ``` > diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > index 6ccaa194733b..41259c0004d1 100644 > --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > @@ -5068,8 +5068,9 @@ mlxsw_sp_nexthop_obj_bucket_adj_update(struct mlxsw_sp *mlxsw_sp, > /* No point in trying an atomic replacement if the idle timer interval > * is smaller than the interval in which we query and clear activity. > */ > - force = info->nh_res_bucket->idle_timer_ms < > - MLXSW_SP_NH_GRP_ACTIVITY_UPDATE_INTERVAL; > + if (!force && info->nh_res_bucket->idle_timer_ms < > + MLXSW_SP_NH_GRP_ACTIVITY_UPDATE_INTERVAL) > + force = true; > > adj_index = nh->nhgi->adj_index + bucket_index; > err = mlxsw_sp_nexthop_update(mlxsw_sp, adj_index, nh, force, ratr_pl); > ``` > > We should only fallback to a non-atomic replacement when the current > replacement is atomic and the idle timer is too short. > > We currently ignore the value of 'force'. This means that a non-atomic > replacement ('force' is true) can be made atomic if idle timer is larger > than 1 second. > > Colin, do you mind if I submit it formally as a fix later this week? I > want to run it through our usual process. Will mention you in > Reported-by, obviously. Sure. Good idea. > >> char ratr_pl_new[MLXSW_REG_RATR_LEN]; >> char ratr_pl[MLXSW_REG_RATR_LEN]; >> u32 adj_index; >> -- >> 2.30.2 >> ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-04-09 9:11 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-03-27 22:33 [PATCH][next] mlxsw: spectrum_router: remove redundant initialization of variable force Colin King 2021-03-29 6:04 ` Dan Carpenter 2021-04-09 9:11 ` Joe Perches 2021-03-29 7:13 ` Ido Schimmel 2021-04-09 9:03 ` Colin Ian King
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox