[dpdk-dev] [PATCH v5 1/3] ixgbe: Cleanups

Ananyev, Konstantin konstantin.ananyev at intel.com
Mon Mar 9 20:13:35 CET 2015



> 
> From: Vladislav Zolotarov [mailto:vladz at cloudius-systems.com]
> Sent: Monday, March 09, 2015 6:22 PM
> To: Mcnamara, John
> Cc: dev at dpdk.org; Ananyev, Konstantin
> Subject: RE: [dpdk-dev] [PATCH v5 1/3] ixgbe: Cleanups
> 
> 
> On Mar 9, 2015 8:01 PM, "Mcnamara, John" <john.mcnamara at intel.com> wrote:
> >
> > > -----Original Message-----
> > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vladislav Zolotarov
> > > Sent: Monday, March 9, 2015 5:14 PM
> > > To: Ananyev, Konstantin
> > > Cc: dev at dpdk.org
> > > Subject: Re: [dpdk-dev] [PATCH v5 1/3] ixgbe: Cleanups
> > >
> > > On Mar 9, 2015 6:39 PM, "Ananyev, Konstantin"
> > > <konstantin.ananyev at intel.com>
> > > wrote:
> > > > > > If I remember things correctly, it considered result at right side
> > > > > > of
> > > '=' operator as unsigned int,
> > > > > > and then complained that we assign it to smaller size (unsigned
> > > short) operand.
> > > > >
> > > > > If that's the case - that's a clear compiler bug.
> > > >
> > > > Might be, though if we still have to support it, there is no much
> > > > choice
> > > I am afraid.
> > >
> > > Well to begin with could anybody who has this icc thing (preferably the
> > > latest version) post the compilation errors u are talking about
> >
> > Hi,
> >
> > For what it is worth there aren't any warnings with ICC 13 and the 1/3 patch (+ the previous patchset):
> >
> >   $ make T=x86_64-native-linuxapp-icc install CC=icc
> >   Build complete
> >
> >   $ git log --pretty=format:"%h - %an: %s" -4
> >   b5d06e4 - Vladislav Zolotarov: ixgbe: Cleanups
> >   3cd0367 - Vladislav Zolotarov: ixgbe: Unify the rx_pkt_bulk callback ...
> >   10ed30e - Vladislav Zolotarov: ixgbe: Bug fix: Properly configure Rx ...
> >   2a5bc6a - Vladislav Zolotarov: ixgbe: Use the rte_le_to_cpu_xx()/rte_...
> >
> >   $ icc --version
> >   icc (ICC) 13.1.1 20130313
> Thanks a lot, John.

As I said my worry was about 12.*.
icc v13* and above, are not that picky.
After applying the patch, indeed all these lines make icc 12.1 to generate warnings.
See below for details.
Though with icc 12.1 current dpdk.org main branch will generate ~2K unhandled warnings all over the places anyway...
Which makes me think that probably DPDK support for icc 12.* was scrapped already, I just didn't notice that.
Konstantin

$ icc -v
icc version 12.1.0 (gcc version 4.5.0 compatibility)

$ icc -Wp,-MD,./.ixgbe_rxtx.o.d.tmp -m64 -pthread  -march=native -DRTE_MACHINE_CPU
FLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPU
FLAG_SSSE3 -DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2 -DRTE_MACHI
NE_CPUFLAG_AVX -DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_
CPUFLAG_SSE3,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG
_AVX  -I/local/kananye1/dpdk.org/x86_64-native-linuxapp-icc/include -include /lo
cal/kananye1/dpdk.org/x86_64-native-linuxapp-icc/include/rte_config.h -O3 -Wall
-w2 -diag-disable 271 -diag-warning 1478 -diag-disable 13368 -diag-disable 15527   -o ixgbe_rxtx.o -c /local/kananye1/dpdk.org/lib/librte_pmd_ixgbe/ixgbe_rxtx.c

....

/local/kananye1/dpdk.org/lib/librte_pmd_ixgbe/ixgbe_rxtx.c(1035): remark #2259:
non-pointer conversion from "int" to "uint16_t={unsigned short}" may lose signif
icant bits
        alloc_idx = rxq->rx_free_trigger - (rxq->rx_free_thresh - 1);
                  ^

/local/kananye1/dpdk.org/lib/librte_pmd_ixgbe/ixgbe_rxtx.c(1064): remark #2259: non-pointer conversion from "int" to "uint16_t={unsigned short}" may lose significant bits
        rxq->rx_free_trigger = rxq->rx_free_trigger + rxq->rx_free_thresh;
                             ^

/local/kananye1/dpdk.org/lib/librte_pmd_ixgbe/ixgbe_rxtx.c(1067): remark #2259: non-pointer conversion from "int" to "uint16_t={unsigned short}" may lose significant bits
                rxq->rx_free_trigger = rxq->rx_free_thresh - 1;

....



More information about the dev mailing list