[v2,3/6] net/mvpp2: fix array initialization

Message ID 1535122494-30249-4-git-send-email-tdu@semihalf.com
State Superseded, archived
Delegated to: Ferruh Yigit
Headers show
Series
  • net/mvpp2 changes and features
Related show

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Tomasz Duszynski Aug. 24, 2018, 2:54 p.m.
Fix used_bpools array initialization by using range initializer.
This way all necessary variables are properly initialized regardless
of PP2_NUM_PKT_PROC value.

Fixes: 0ddc9b815b11 ("net/mrvl: add net PMD skeleton")
Cc: stable@dpdk.org

Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
---
 drivers/net/mvpp2/mrvl_ethdev.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Ferruh Yigit Aug. 24, 2018, 4:46 p.m. | #1
On 8/24/2018 3:54 PM, Tomasz Duszynski wrote:
> Fix used_bpools array initialization by using range initializer.
> This way all necessary variables are properly initialized regardless
> of PP2_NUM_PKT_PROC value.
> 
> Fixes: 0ddc9b815b11 ("net/mrvl: add net PMD skeleton")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
> ---
>  drivers/net/mvpp2/mrvl_ethdev.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
> index 7ea8946..60ca6e0 100644
> --- a/drivers/net/mvpp2/mrvl_ethdev.c
> +++ b/drivers/net/mvpp2/mrvl_ethdev.c
> @@ -84,8 +84,7 @@ static const char * const valid_args[] = {
>  static int used_hifs = MRVL_MUSDK_HIFS_RESERVED;
>  static struct pp2_hif *hifs[RTE_MAX_LCORE];
>  static int used_bpools[PP2_NUM_PKT_PROC] = {
> -	MRVL_MUSDK_BPOOLS_RESERVED,
> -	MRVL_MUSDK_BPOOLS_RESERVED
> +	[0 ... PP2_NUM_PKT_PROC - 1] = MRVL_MUSDK_BPOOLS_RESERVED

range initializer is not part of standard, although I am sure this won't be
first GCC extension we rely on, and I don't have any other option than memset
for this.

So just a reminder about extension usage, if you are happy with this
implementation, lets keep it.
Tomasz Duszynski Aug. 24, 2018, 5:53 p.m. | #2
On Fri, Aug 24, 2018 at 05:46:42PM +0100, Ferruh Yigit wrote:
> On 8/24/2018 3:54 PM, Tomasz Duszynski wrote:
> > Fix used_bpools array initialization by using range initializer.
> > This way all necessary variables are properly initialized regardless
> > of PP2_NUM_PKT_PROC value.
> >
> > Fixes: 0ddc9b815b11 ("net/mrvl: add net PMD skeleton")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
> > ---
> >  drivers/net/mvpp2/mrvl_ethdev.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
> > index 7ea8946..60ca6e0 100644
> > --- a/drivers/net/mvpp2/mrvl_ethdev.c
> > +++ b/drivers/net/mvpp2/mrvl_ethdev.c
> > @@ -84,8 +84,7 @@ static const char * const valid_args[] = {
> >  static int used_hifs = MRVL_MUSDK_HIFS_RESERVED;
> >  static struct pp2_hif *hifs[RTE_MAX_LCORE];
> >  static int used_bpools[PP2_NUM_PKT_PROC] = {
> > -	MRVL_MUSDK_BPOOLS_RESERVED,
> > -	MRVL_MUSDK_BPOOLS_RESERVED
> > +	[0 ... PP2_NUM_PKT_PROC - 1] = MRVL_MUSDK_BPOOLS_RESERVED
>
> range initializer is not part of standard, although I am sure this won't be
> first GCC extension we rely on, and I don't have any other option than memset
> for this.
>
> So just a reminder about extension usage, if you are happy with this
> implementation, lets keep it.

I would prefer to leave it as is. As you pointed out DPDK has
already started using it anyway.

--
- Tomasz Duszyński

Patch

diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index 7ea8946..60ca6e0 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -84,8 +84,7 @@  static const char * const valid_args[] = {
 static int used_hifs = MRVL_MUSDK_HIFS_RESERVED;
 static struct pp2_hif *hifs[RTE_MAX_LCORE];
 static int used_bpools[PP2_NUM_PKT_PROC] = {
-	MRVL_MUSDK_BPOOLS_RESERVED,
-	MRVL_MUSDK_BPOOLS_RESERVED
+	[0 ... PP2_NUM_PKT_PROC - 1] = MRVL_MUSDK_BPOOLS_RESERVED
 };
 
 struct pp2_bpool *mrvl_port_to_bpool_lookup[RTE_MAX_ETHPORTS];