Thread (42 messages) 42 messages, 14 authors, 2021-03-24

Re: [dpdk-dev] 19.11.4 patches review and test

From: Christian Ehrhardt <hidden>
Date: 2021-03-18 11:54:51

On Tue, Sep 1, 2020 at 3:23 PM Pai G, Sunil [off-list ref] wrote:
Hi,

Yes , OVS was using pkg-config even before these patches were rolled out.
But it always used to pick the DPDK shared libs by default for OVS even on using the -Bstatic/-Bshared flags.
These patches from Bruce simplify the process from DPDK side without having the user to specify them.
Moreover, with these patches , the problem of shared DPDK libs always being picked instead of static was not seen any more with a bit of changes from the OVS side as well.
http://patchwork.ozlabs.org/project/openvswitch/patch/20200707141126.71414-1-sunil.pai.g@intel.com/ .
The patches for ovs-master are ready as well and will them out soon.
Hi Sunil, Ian, everyone ..

back  in 19.11.4 these DPDK changes were not picked up as they have
broken builds as discussed here.
Later on the communication was that all this works fine now and
thereby Luca has "reverted the reverts" in 19.11.6 [1].

But today we were made aware that still no OVS 2.13 builds against a
DPDK that has those changes.
Not 2.13.1 as we have it in Ubuntu nor (if it needs some OVS changes
backported) the recent 2.13.3 does build.
They still fail with the very same issue I reported [2] back then.

Unfortunately I have just released 19.11.7 so I can't revert them
there - but OTOH reverting and counter reverting every other release
seems wrong anyway.

I wanted to ask if there is a set of patches that OVS would need to
backport to 2.13.x to make this work?
If they could be identified and prepared Distros could use them on
2.13.3 asap and 2.13.4 could officially release them for OVS later on.

But for that we'd need a hint which OVS changes that would need to be.
All I know atm is from the testing reports on DPDK it seems that OVS
2.14.3 and 2.15 are happy with the new DPDK code.
Do you have pointers on what 2.13.3 would need to get backported to
work again in regard to this build issue.


[1]: http://git.dpdk.org/dpdk-stable/log/?h=19.11&ofs=550
[2]: http://mails.dpdk.org/archives/stable/2020-September/024796.html
Thanks and Regards,
Pai G, Sunil
Sunil
quoted
-----Original Message-----
From: Bruce Richardson <redacted>
Sent: Tuesday, September 1, 2020 6:18 PM
To: Christian Ehrhardt <redacted>
Cc: Luca Boccassi <redacted>; stable@dpdk.org; dev <redacted>;
Pai G, Sunil [off-list ref]; Stokes, Ian [off-list ref]
Subject: Re: [dpdk-dev] 19.11.4 patches review and test

On Tue, Sep 01, 2020 at 02:32:26PM +0200, Christian Ehrhardt wrote:
quoted
On Tue, Sep 1, 2020 at 10:30 AM Luca Boccassi [off-list ref] wrote:
quoted
On Tue, 2020-08-18 at 19:12 +0100, Luca Boccassi wrote:
quoted
Hi all,

Here is a list of patches targeted for stable release 19.11.4.

The planned date for the final release is August 31st.

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.
quoted
quoted
quoted
A release candidate tarball can be found at:

    https://dpdk.org/browse/dpdk-stable/tag/?id=v19.11.4-rc1

These patches are located at branch 19.11 of dpdk-stable repo:
    https://dpdk.org/browse/dpdk-stable/

Thanks.

Luca Boccassi
Microsoft's regression tests are still running, delaying until
Thursday the 3rd. Apologies for any inconvenience.
Due to report on OVS failing to build I happened to find that 19.11.4
has massively changed linking.
=> https://paste.ubuntu.com/p/znCRR4gpjP/

This was meant to be helpful for sure and I assume is around:
48f7fd27f6 build/pkg-config: prevent overlinking
2d1535d592 build/pkg-config: improve static linking flags
9fb13a12c1 build/pkg-config: output drivers first for static build
59b108d824 build/pkg-config: move pkg-config file creation
aea915e944 devtools: test static linkage with pkg-config

But overlinking has effectively become underlinking now
https://launchpadlibrarian.net/495845224/buildlog_ubuntu-groovy-amd64.
openvswitch_2.13.1-0ubuntu2~ppa1_BUILDING.txt.gz

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-
gnu/librte_pmd_ring.a(net_ring_rte_eth_ring.c.o):
quoted
in function `rte_eth_from_rings':
(.text+0x91c): undefined reference to `rte_vdev_init'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-
gnu/librte_pmd_ring.a(net_ring_rte_eth_ring.c.o):
quoted
in function `vdrvinitfn_pmd_ring_drv':
(.text.startup+0x28): undefined reference to `rte_vdev_register'
collect2: error: ld returned 1 exit status

Also as you can see in the pastebin above, CFlags and Libs massively
shrunk and likely too much so.

Given that this should be a stable release I'd ask to back out those
changes so that a test build creates the same .pc file as before -
would that make sense?
Adding some OVS folks on CC.

The request for backporting these actually came from the OVS side, since they
were deemed necessary to enable OVS to switch to use DPDK pkg-config rather
than the older approach using a makefile-based build. However, it appears you
guys were already building OVS using the pkg-config file, and since this causes
issues where there were none, backing it out seems a prudent choice.

Ian, Sunil, any comments here.

Regards
/Bruce


-- 
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help