On 11/09/2024 14:10, Ali Alnubani wrote:
>> -----Original Message-----
>> From: Kevin Traynor <[email protected]>
>> Sent: Wednesday, September 11, 2024 3:20 PM
>> To: Ali Alnubani <[email protected]>; [email protected]
>> Cc: [email protected]; Abhishek Marathe <[email protected]>;
>> Hemant Agrawal <[email protected]>; Ian Stokes
>> <[email protected]>; Jerin Jacob <[email protected]>; John McNamara
>> <[email protected]>; Ju-Hyoung Lee <[email protected]>; Luca
>> Boccassi <[email protected]>; Pei Zhang <[email protected]>; Raslan
>> Darawsheh <[email protected]>; NBU-Contact-Thomas Monjalon
>> (EXTERNAL) <[email protected]>; [email protected]
>> Subject: Re: 21.11.8 patches review and test
>>
>> On 10/09/2024 20:12, Ali Alnubani wrote:
>>>> -----Original Message-----
>>>> From: Kevin Traynor <[email protected]>
>>>> Sent: Friday, September 6, 2024 12:53 PM
>>>> To: Ali Alnubani <[email protected]>; [email protected]
>>>> Cc: [email protected]; Abhishek Marathe
>> <[email protected]>;
>>>> David Christensen <[email protected]>; Hemant Agrawal
>>>> <[email protected]>; Ian Stokes <[email protected]>; Jerin
>> Jacob
>>>> <[email protected]>; John McNamara <[email protected]>; Ju-
>>>> Hyoung Lee <[email protected]>; Luca Boccassi <[email protected]>;
>> Pei
>>>> Zhang <[email protected]>; Raslan Darawsheh <[email protected]>;
>> NBU-
>>>> Contact-Thomas Monjalon (EXTERNAL) <[email protected]>;
>>>> [email protected]
>>>> Subject: Re: 21.11.8 patches review and test
>>>>
>>>> On 05/09/2024 15:02, Kevin Traynor wrote:
>>>>> On 05/09/2024 14:29, Ali Alnubani wrote:
>>>>>>> -----Original Message-----
>>>>>>> From: Kevin Traynor <[email protected]>
>>>>>>> Sent: Thursday, September 5, 2024 3:38 PM
>>>>>>> To: [email protected]
>>>>>>> Cc: [email protected]; Abhishek Marathe
>> <[email protected]>;
>>>> Ali
>>>>>>> Alnubani <[email protected]>; David Christensen
>>>> <[email protected]>;
>>>>>>> Hemant Agrawal <[email protected]>; Ian Stokes
>>>>>>> <[email protected]>; Jerin Jacob <[email protected]>; John
>> McNamara
>>>>>>> <[email protected]>; Ju-Hyoung Lee <[email protected]>;
>>>> Kevin
>>>>>>> Traynor <[email protected]>; Luca Boccassi <[email protected]>;
>> Pei
>>>> Zhang
>>>>>>> <[email protected]>; Raslan Darawsheh <[email protected]>;
>> NBU-
>>>>>>> Contact-Thomas Monjalon (EXTERNAL) <[email protected]>;
>>>>>>> [email protected]
>>>>>>> Subject: 21.11.8 patches review and test
>>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> Here is a list of patches targeted for stable release 21.11.8.
>>>>>>>
>>>>>>> The planned date for the final release is 18th September.
>>>>>>>
>>>>>>> Please help with testing and validation of your use cases and report
>>>>>>> any issues/results with reply-all to this mail. For the final release
>>>>>>> the fixes and reported validations will be added to the release notes.
>>>>>>>
>>>>>>> A release candidate tarball can be found at:
>>>>>>>
>>>>>>> https://dpdk.org/browse/dpdk-stable/tag/?id=v21.11.8-rc1
>>>>>>>
>>>>>>> These patches are located at branch 21.11 of dpdk-stable repo:
>>>>>>> https://dpdk.org/browse/dpdk-stable/
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> Kevin
>>>>>>>
>>>>>>> ---
>>>>>>
>>>>>> Hi Kevin,
>>>>>>
>>>>>> I see this build failure in Debian 12 and Fedora 40:
>>>>>>
>>>>>> $ meson --werror --buildtype=debugoptimized build && ninja -C build
>>>>>> [..]
>>>>>> drivers/net/softnic/rte_eth_softnic_meter.c:916:25: error: 's' may be
>> used
>>>> uninitialized [-Werror=maybe-uninitialized]
>>>>>>
>>>>>> Will update with the rest of our functional testing later during the next
>> couple
>>>> of weeks.
>>>>>>
>>>>>> Regards,
>>>>>> Ali
>>>>>
>>>>> ok, thanks. I will check it out.
>>>> Hi Ali,
>>>>
>>>> It looks like a false positive, as the stats [0] are initialised in
>>>> mtr_stats_convert() before they are used. The code is unchanged since
>>>> the last release so probably it's compiler/distro change for this release.
>>>>
>>>> I've built with this meson command using latest gcc and clang on a F40
>>>> and not seeing this issue [1].
>>>>
>>>> Are you using same compiler versions ? Any other details needed to
>>>> reproduce ?
>>>>
>>>> thanks,
>>>> Kevin.
>>>>
>>>> [0]
>>>> https://git.dpdk.org/dpdk-
>>>> stable/tree/drivers/net/softnic/rte_eth_softnic_meter.c?h=21.11#n906
>>>>
>>>> [1]
>>>> $ clang --version
>>>> clang version 18.1.6 (Fedora 18.1.6-3.fc40)
>>>> $ gcc --version
>>>> gcc (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1)
>>>>
>>>> commit 680818068d31764357075cde440232ce5ab8b786 (HEAD ->
>> 21.11, tag:
>>>> v21.11.8-rc1, origin/21.11)
>>>> Author: Kevin Traynor <[email protected]>
>>>> Date: Thu Sep 5 10:34:16 2024 +0100
>>>>
>>>> version: 21.11.8-rc1
>>>>
>>>> e.g.
>>>> $ meson --werror --buildtype=debugoptimized build-gcc
>>>> ...
>>>> $ ninja -C build-gcc
>>>> ninja: Entering directory `build-gcc'
>>>> [3071/3071] Linking target app/test/dpdk-test
>>>>
>>>>
>>>>
>>>>> Kevin.
>>>
>>> Hi Kevin, apologies for the late response,
>>>
>>> The build failure doesn't reproduce for me on some environments either.
>>> I tried to compare the log of 2 builds (one that reproduced, and one that
>> didn't), and the only difference I saw was related to AVX512 support.
>>>
>>> Build passed on an AMD EPYC 7713 system (3rd Gen EPYC, no AVX512
>> support):
>>> [..]
>>> Fetching value of define "__AVX512BW__" : (undefined)
>>> Fetching value of define "__AVX512CD__" : (undefined)
>>> Fetching value of define "__AVX512DQ__" : (undefined)
>>> Fetching value of define "__AVX512F__" : (undefined)
>>> Fetching value of define "__AVX512VL__" : (undefined)
>>> [..]
>>>
>>> Build failed on an AMD EPYC 9654P system (4th Gen EPYC, has AVX512
>> support):
>>> [..]
>>> Fetching value of define "__AVX512BW__" : 1
>>> Fetching value of define "__AVX512CD__" : 1
>>> Fetching value of define "__AVX512DQ__" : 1
>>> Fetching value of define "__AVX512F__" : 1
>>> Fetching value of define "__AVX512VL__" : 1
>>> [..]
>>>
>>> The build failure doesn't reproduce for me on 22.11 and newer versions.
>>>
>>
>> Yes, that function is not present in later versions. I don't have easy
>> access to an AVX512 enabled system but it should be a simple fix.
>>
>> Would you be able to try with the below ?
>>
>> --- a/drivers/net/softnic/rte_eth_softnic_meter.c
>> +++ b/drivers/net/softnic/rte_eth_softnic_meter.c
>> @@ -904,5 +904,5 @@ pmd_mtr_stats_read(struct rte_eth_dev *dev,
>> /* Stats format conversion. */
>> if (stats || stats_mask) {
>> - struct rte_mtr_stats s;
>> + struct rte_mtr_stats s = {0};
>> uint64_t s_mask = 0;
>>
>
> Build passes with this change, thanks!
>
Hi Ali,
Unfortunately gcc on RHEL/CentOS 7, doesn't like this with -Wextra,
according to godbolt. I'm just going to fix with an explicit memset [0],
so we don't go in circles with compiler versions/options.
Regarding other validation, is there any update on status or ETA ?
thanks,
Kevin.
[0]
--- a/drivers/net/softnic/rte_eth_softnic_meter.c
+++ b/drivers/net/softnic/rte_eth_softnic_meter.c
@@ -907,4 +907,5 @@ pmd_mtr_stats_read(struct rte_eth_dev *dev,
uint64_t s_mask = 0;
+ memset(&s, 0, sizeof(s));
mtr_stats_convert(p,
m,
> Regards,
> Ali