On 2/5/26 2:30 PM, David Marchand wrote:
> On Tue, 3 Feb 2026 at 12:09, Ilya Maximets <[email protected]> wrote:
>>
>> On 2/3/26 11:48 AM, Ilya Maximets wrote:
>>> On 2/3/26 11:07 AM, David Marchand wrote:
>>>> On Tue, 3 Feb 2026 at 10:56, Ilya Maximets <[email protected]> wrote:
>>>>>
>>>>> The library is purely internal and linked into the main libopenvswitch
>>>>> during the build.  It should not be marked for installation.  Moving
>>>>> it from 'lib' to 'noinst', so 'make install' doesn't install it to the
>>>>> system.  With that we also don't need to exclude it from the RPM files.
>>>>>
>>>>> Fixes: 352b6c7116cd ("dpif-lookup: add avx512 gather implementation.")
>>>>> Fixes: 9ecaa5cb71b6 ("rhel: openvswitch-fedora.spec.in: Fix installed but 
>>>>> not packaged.")
>>>>> Signed-off-by: Ilya Maximets <[email protected]>
>>>>
>>>> Won't it break linking against libopenvswitch.a if the avx512 lib
>>>> dependency is not shipped too?
>>>>
>>>> On a AVX512 system:
>>>> $ nm build/lib/.libs/libopenvswitch.a | grep U.*avx512
>>>>                  U dpcls_subtable_avx512_gather_probe__
>>>>                  U dp_netdev_input_outer_avx512
>>>>                  U mfex_avx512_dot1q_ip_tcp
>>>>                  U mfex_avx512_dot1q_ip_udp
>>>>                  U mfex_avx512_dot1q_ipv6_tcp
>>>>                  U mfex_avx512_dot1q_ipv6_udp
>>>>                  U mfex_avx512_ip_nvgre
>>>>                  U mfex_avx512_ip_tcp
>>>>                  U mfex_avx512_ip_udp
>>>>                  U mfex_avx512_ipv6_tcp
>>>>                  U mfex_avx512_ipv6_udp
>>>>                  U mfex_avx512_vbmi_dot1q_ip_tcp
>>>>                  U mfex_avx512_vbmi_dot1q_ip_udp
>>>>                  U mfex_avx512_vbmi_dot1q_ipv6_tcp
>>>>                  U mfex_avx512_vbmi_dot1q_ipv6_udp
>>>>                  U mfex_avx512_vbmi_ip_nvgre
>>>>                  U mfex_avx512_vbmi_ip_tcp
>>>>                  U mfex_avx512_vbmi_ip_udp
>>>>                  U mfex_avx512_vbmi_ipv6_tcp
>>>>                  U mfex_avx512_vbmi_ipv6_udp
>>>>                  U action_avx512_init
>>> Need to re-check if this actually works with static libraries, I didn't try.
>>> But the library archive itself contains multiple object files and while
>>> these symbols are undefined in one, they are defined in the other:
>>>
>>> # ar t lib/.libs/libopenvswitch.a | grep avx512
>>> libopenvswitchavx512_la-dpif-netdev-avx512.o
>>> libopenvswitchavx512_la-dpif-netdev-extract-avx512.o
>>> libopenvswitchavx512_la-dpif-netdev-lookup-avx512-gather.o
>>> libopenvswitchavx512_la-odp-execute-avx512.o
>>>
>>> # nm -A lib/.libs/libopenvswitch.a | grep mfex_avx512_ip_udp
>>> lib/.libs/libopenvswitch.a:dpif-netdev-private-extract.o:                 U 
>>> mfex_avx512_ip_udp
>>> lib/.libs/libopenvswitch.a:libopenvswitchavx512_la-dpif-netdev-extract-avx512.o:00000000000002b0
>>>  T mfex_avx512_ip_udp
>>
>> In the build log it looks like libtool extracts the avx512 archive and
>> then re-packs the content into libopenvswitch.a:
> 
> Indeed, I see the same.
> So this change looks fine.
> 
> Acked-by: David Marchand <[email protected]>

Thanks!  Applied and backported down to 3.3.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to