mempool/octeontx2: fix compile issue
diff mbox series

Message ID 20200217164345.6207-1-taox.zhu@intel.com
State Accepted, archived
Delegated to: Thomas Monjalon
Headers show
Series
  • mempool/octeontx2: fix compile issue
Related show

Checks

Context Check Description
ci/Intel-compilation fail apply issues
ci/travis-robot warning Travis build: failed
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/checkpatch success coding style OK

Commit Message

Zhu, TaoX Feb. 17, 2020, 4:43 p.m. UTC
From: Tao Zhu <taox.zhu@intel.com>

Change the definition of C99 style to C90 style.
compile log as below:

otx2_mempool_ops.c: In function ‘otx2_npa_populate’:
/dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c:790:2: error: \
	‘for’ loop initial declarations are only allowed in C99 mode
  for (int i = 0; i < OTX2_L1D_NB_SETS; i++)
  ^
/dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c:790:2: \
	note: use option -std=c99 or -std=gnu99 to compile your code
/dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c: At top level:
cc1: error: unrecognized command line option \
	"-Wno-address-of-packed-member" [-Werror]
cc1: all warnings being treated as errors
make[6]: *** [otx2_mempool_ops.o] Error 1
make[5]: *** [octeontx2] Error 2
make[4]: *** [mempool] Error 2

Fixes: 9ed8e95c ("mempool/octeontx2: optimize for L1D cache architecture")

Signed-off-by: Tao Zhu <taox.zhu@intel.com>
---
 drivers/mempool/octeontx2/otx2_mempool_ops.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

David Marchand Feb. 17, 2020, 11:19 a.m. UTC | #1
This patch has been sent with a date in the future.
Date: Mon, 17 Feb 2020 16:43:45 +0000

Please fix your mail setup, this triggers an error with meson in UNH
CI (at least).
Jerin Jacob Feb. 17, 2020, 1:06 p.m. UTC | #2
On Mon, Feb 17, 2020 at 1:39 PM <taox.zhu@intel.com> wrote:
>
> From: Tao Zhu <taox.zhu@intel.com>
>
> Change the definition of C99 style to C90 style.
> compile log as below:
>
> otx2_mempool_ops.c: In function ‘otx2_npa_populate’:
> /dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c:790:2: error: \
>         ‘for’ loop initial declarations are only allowed in C99 mode
>   for (int i = 0; i < OTX2_L1D_NB_SETS; i++)
>   ^
> /dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c:790:2: \
>         note: use option -std=c99 or -std=gnu99 to compile your code
> /dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c: At top level:
> cc1: error: unrecognized command line option \
>         "-Wno-address-of-packed-member" [-Werror]
> cc1: all warnings being treated as errors
> make[6]: *** [otx2_mempool_ops.o] Error 1
> make[5]: *** [octeontx2] Error 2
> make[4]: *** [mempool] Error 2
>
> Fixes: 9ed8e95c ("mempool/octeontx2: optimize for L1D cache architecture")
>
> Signed-off-by: Tao Zhu <taox.zhu@intel.com>

Just for understanding purposes, Why one need to use C90 instead of
C99? May I know, What environment, Do you see this issue?
In any case,

Reviewed-by: Jerin Jacob <jerinj@marvell.com>




> ---
>  drivers/mempool/octeontx2/otx2_mempool_ops.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mempool/octeontx2/otx2_mempool_ops.c b/drivers/mempool/octeontx2/otx2_mempool_ops.c
> index 6b55447..ac2d618 100644
> --- a/drivers/mempool/octeontx2/otx2_mempool_ops.c
> +++ b/drivers/mempool/octeontx2/otx2_mempool_ops.c
> @@ -754,6 +754,7 @@
>         size_t total_elt_sz;
>         uint8_t set;
>         size_t off;
> +       int i;
>
>         if (iova == RTE_BAD_IOVA)
>                 return -EINVAL;
> @@ -787,7 +788,7 @@
>         otx2_npa_dbg("requested objects %"PRIu64", possible objects %"PRIu64"",
>                      (uint64_t)max_objs, (uint64_t)(len / total_elt_sz));
>         otx2_npa_dbg("L1D set distribution :");
> -       for (int i = 0; i < OTX2_L1D_NB_SETS; i++)
> +       for (i = 0; i < OTX2_L1D_NB_SETS; i++)
>                 otx2_npa_dbg("set[%d] : objects : %"PRIu64"", i,
>                              distribution[i]);
>
> --
> 1.8.3.1
>
David Marchand Feb. 17, 2020, 2:57 p.m. UTC | #3
Jeremy,

On Mon, Feb 17, 2020 at 12:19 PM David Marchand
<david.marchand@redhat.com> wrote:
>
> This patch has been sent with a date in the future.
> Date: Mon, 17 Feb 2020 16:43:45 +0000
>
> Please fix your mail setup, this triggers an error with meson in UNH
> CI (at least).

Do you use the tools/pwclient script from dpdk-ci or some git-am
script of yours?
I can see git-am has an option to tweak the commit dates (--ignore-date).

This should avoid the issue of files in the future that meson is not happy with.


--
David Marchand
David Marchand Feb. 17, 2020, 2:57 p.m. UTC | #4
On Mon, Feb 17, 2020 at 2:06 PM Jerin Jacob <jerinjacobk@gmail.com> wrote:
>
> On Mon, Feb 17, 2020 at 1:39 PM <taox.zhu@intel.com> wrote:
> >
> > From: Tao Zhu <taox.zhu@intel.com>
> >
> > Change the definition of C99 style to C90 style.
> > compile log as below:
> >
> > otx2_mempool_ops.c: In function ‘otx2_npa_populate’:
> > /dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c:790:2: error: \
> >         ‘for’ loop initial declarations are only allowed in C99 mode
> >   for (int i = 0; i < OTX2_L1D_NB_SETS; i++)
> >   ^
> > /dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c:790:2: \
> >         note: use option -std=c99 or -std=gnu99 to compile your code
> > /dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c: At top level:
> > cc1: error: unrecognized command line option \
> >         "-Wno-address-of-packed-member" [-Werror]
> > cc1: all warnings being treated as errors
> > make[6]: *** [otx2_mempool_ops.o] Error 1
> > make[5]: *** [octeontx2] Error 2
> > make[4]: *** [mempool] Error 2
> >
> > Fixes: 9ed8e95c ("mempool/octeontx2: optimize for L1D cache architecture")
> >
> > Signed-off-by: Tao Zhu <taox.zhu@intel.com>
>
> Just for understanding purposes, Why one need to use C90 instead of
> C99? May I know, What environment, Do you see this issue?
> In any case,
>
> Reviewed-by: Jerin Jacob <jerinj@marvell.com>

We can see this in RHEL/Centos 7 and SLE 12 (thanks Luca).


--
David Marchand
Jeremy Plsek Feb. 17, 2020, 6:04 p.m. UTC | #5
On Mon, Feb 17, 2020 at 9:57 AM David Marchand
<david.marchand@redhat.com> wrote:
>
> Jeremy,
>
> On Mon, Feb 17, 2020 at 12:19 PM David Marchand
> <david.marchand@redhat.com> wrote:
> >
> > This patch has been sent with a date in the future.
> > Date: Mon, 17 Feb 2020 16:43:45 +0000
> >
> > Please fix your mail setup, this triggers an error with meson in UNH
> > CI (at least).
>
> Do you use the tools/pwclient script from dpdk-ci or some git-am
> script of yours?

We use a customized script given to us by the Intel CI team which does
use git-am.

> I can see git-am has an option to tweak the commit dates (--ignore-date).

I can look into adding it.

I've also updated our compile scripts (again) to hopefully mitigate
the issue. I've also rerun the tests for this patch with those
changes.
>
> This should avoid the issue of files in the future that meson is not happy with.
>
>
> --
> David Marchand
>
Thomas Monjalon Feb. 17, 2020, 6:28 p.m. UTC | #6
17/02/2020 19:04, Jeremy Plsek:
> On Mon, Feb 17, 2020 at 9:57 AM David Marchand
> <david.marchand@redhat.com> wrote:
> >
> > Jeremy,
> >
> > On Mon, Feb 17, 2020 at 12:19 PM David Marchand
> > <david.marchand@redhat.com> wrote:
> > >
> > > This patch has been sent with a date in the future.
> > > Date: Mon, 17 Feb 2020 16:43:45 +0000
> > >
> > > Please fix your mail setup, this triggers an error with meson in UNH
> > > CI (at least).
> >
> > Do you use the tools/pwclient script from dpdk-ci or some git-am
> > script of yours?
> 
> We use a customized script given to us by the Intel CI team which does
> use git-am.
> 
> > I can see git-am has an option to tweak the commit dates (--ignore-date).
> 
> I can look into adding it.
> 
> I've also updated our compile scripts (again) to hopefully mitigate
> the issue. I've also rerun the tests for this patch with those
> changes.

We need to revisit how to migrate to small public scripts in dpdk-ci
which can be re-used by anybody working on DPDK.
Please let's start with this one: a script for applying patches
from patchwork, using git-pw or git-am.
Thomas Monjalon Feb. 17, 2020, 6:29 p.m. UTC | #7
17/02/2020 14:06, Jerin Jacob:
> On Mon, Feb 17, 2020 at 1:39 PM <taox.zhu@intel.com> wrote:
> >
> > From: Tao Zhu <taox.zhu@intel.com>
> >
> > Change the definition of C99 style to C90 style.
> > compile log as below:
> >
> > otx2_mempool_ops.c: In function ‘otx2_npa_populate’:
> > /dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c:790:2: error: \
> >         ‘for’ loop initial declarations are only allowed in C99 mode
> >   for (int i = 0; i < OTX2_L1D_NB_SETS; i++)
> >   ^
> > /dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c:790:2: \
> >         note: use option -std=c99 or -std=gnu99 to compile your code
> > /dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c: At top level:
> > cc1: error: unrecognized command line option \
> >         "-Wno-address-of-packed-member" [-Werror]
> > cc1: all warnings being treated as errors
> > make[6]: *** [otx2_mempool_ops.o] Error 1
> > make[5]: *** [octeontx2] Error 2
> > make[4]: *** [mempool] Error 2
> >
> > Fixes: 9ed8e95c ("mempool/octeontx2: optimize for L1D cache architecture")
> >
> > Signed-off-by: Tao Zhu <taox.zhu@intel.com>
> 
> Just for understanding purposes, Why one need to use C90 instead of
> C99? May I know, What environment, Do you see this issue?
> In any case,
> 
> Reviewed-by: Jerin Jacob <jerinj@marvell.com>

Applied, thanks

Patch
diff mbox series

diff --git a/drivers/mempool/octeontx2/otx2_mempool_ops.c b/drivers/mempool/octeontx2/otx2_mempool_ops.c
index 6b55447..ac2d618 100644
--- a/drivers/mempool/octeontx2/otx2_mempool_ops.c
+++ b/drivers/mempool/octeontx2/otx2_mempool_ops.c
@@ -754,6 +754,7 @@ 
 	size_t total_elt_sz;
 	uint8_t set;
 	size_t off;
+	int i;
 
 	if (iova == RTE_BAD_IOVA)
 		return -EINVAL;
@@ -787,7 +788,7 @@ 
 	otx2_npa_dbg("requested objects %"PRIu64", possible objects %"PRIu64"",
 		     (uint64_t)max_objs, (uint64_t)(len / total_elt_sz));
 	otx2_npa_dbg("L1D set distribution :");
-	for (int i = 0; i < OTX2_L1D_NB_SETS; i++)
+	for (i = 0; i < OTX2_L1D_NB_SETS; i++)
 		otx2_npa_dbg("set[%d] : objects : %"PRIu64"", i,
 			     distribution[i]);