[dpdk-dev] [PATCH v3 19/20] net/sfc: support flow action COUNT in transfer rules
Andrew Rybchenko
andrew.rybchenko at oktetlabs.ru
Fri Jul 2 10:43:08 CEST 2021
Hi David,
On 7/1/21 4:05 PM, Andrew Rybchenko wrote:
> @Bruce, see below.
>
> On 7/1/21 3:34 PM, David Marchand wrote:
>> On Thu, Jul 1, 2021 at 11:22 AM Andrew Rybchenko
>> <andrew.rybchenko at oktetlabs.ru> wrote:
>>> The build works fine for me on FC34, but it has
>>> libatomic-11.1.1-3.fc34.x86_64 installed.
>>
>> I first produced the issue on my "old" FC32.
>> Afaics, for FC33 and later, gcc now depends on libatomic and the
>> problem won't be noticed.
>> FC32 and before are EOL, but I then reproduced the issue on RHEL 8
>> (and Intel CI reported it on Centos 8 too).
>
> I see. Thanks for the clarification.
>
>>>
>>> I'd like to understand what we're trying to solve here.
>>> Are we trying to make meson to report the missing library
>>> correctly?
>>>
>>> If so, I think I can do simple check using cc.links()
>>> which will fail if the library is not found. I'll
>>> test that it works as expected if the library is not
>>> completely installed.
>>>
>>
>> I tried below diff, and it works for me.
>> "works" as in net/sfc gets disabled without libatomic installed:
>>
>> diff --git a/drivers/net/sfc/meson.build b/drivers/net/sfc/meson.build
>> index 32b58e3d76..8d62aad774 100644
>> --- a/drivers/net/sfc/meson.build
>> +++ b/drivers/net/sfc/meson.build
>> @@ -15,6 +15,7 @@ endif
>> if (arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')) and
>> (arch_subdir != 'arm' or not
>> host_machine.cpu_family().startswith('aarch64'))
>> build = false
>> reason = 'only supported on x86_64 and aarch64'
>> + subdir_done()
>
> @Bruce Shouldn't we add subdir_done() after all build = false
> cases? As I understand it is OK for minimum supported meson
> version.
>
>> endif
>>
>> extra_flags = []
>> @@ -46,6 +47,14 @@ endif
>>
>> # for gcc compiles we need -latomic for 128-bit atomic ops
>> if cc.get_id() == 'gcc'
>> + code = '''#include <stdio.h>
>> + void main() { printf("Atomilink me.\n"); }
>> + '''
>> + if not cc.links(code, args: '-latomic', name: 'libatomic link check')
>> + build = false
>> + reason = 'missing dependency, "libatomic"'
>> + subdir_done()
>> + endif
>> ext_deps += cc.find_library('atomic')
>> endif
>
> Many thanks, LGTM. I'll pick it up and add comments why
> it is checked this way.
>
I've send v4 with the problem fixed. However, I'm afraid
build test systems should be updated to have libatomic
correctly installed. Otherwise, they do not really check
net/sfc build.
Andrew.
More information about the dev
mailing list