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

Vlad Zolotarov vladz at cloudius-systems.com
Mon Mar 9 20:32:10 CET 2015



On 03/09/15 21:13, Ananyev, Konstantin wrote:
>
>> 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.

So, I suppose this concludes this specific discussion, right? ;)

> 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