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]>


-- 
David Marchand

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to