On Mon, 27 May 2019 10:31:22 +0200 Thomas Monjalon <tho...@monjalon.net> wrote:
> 25/05/2019 00:06, Stephen Hemminger: > > On Fri, 24 May 2019 19:32:14 +0200 > > Thomas Monjalon <tho...@monjalon.net> wrote: > > > 24/05/2019 19:11, Stephen Hemminger: > > > > On Fri, 24 May 2019 19:05:20 +0200 > > > > Thomas Monjalon <tho...@monjalon.net> wrote: > > > > > > > > > > > > device drivers on Hyper-V/Azure. If the build system supported > > > > > > > > dependencies > > > > > > > > (like Linux kbuild) this would not be necessary. Meson only > > > > > > > > does dynamic dependencies > > > > > > > > so that doesn't help. > > > > > > > > > > > > > > > > This is a warning and not fatal only because application will > > > > > > > > still at > > > > > > > > least run, and somebody may want to run with SR-IOV with Intel > > > > > > > > NIC's on Hyper-V. > > > > > > > > > > > > > > > > > > > > > > > > The warning is just to give users better immediate feedback > > > > > > > > rather than > > > > > > > > trying to diagnose poor performance or mystery device not found > > > > > > > > messages. > > > > > > > > > > > > > > > > > > > > > It really looks strange to me. > > > > > > > What you need is to fail at compilation if requested PMD is not > > > > > > > built. > > > > > > > I would advise to work on a script to configure meson. > > > > > > > > > > > > None of the people that ran into this were using meson build. > > > > > > For example, VPP doesn't use meson. > > > > > > > > > > They will use meson when makefile will be removed :) > > > > > > > > > > Anyway, no matter the build system, what we want is a way > > > > > to guide users to a proper DPDK installation. > > > > > Your solution is to add some very specific logs. > > > > > My proposal is to guide the user with a script and some > > > > > specific parameters so it will fail if a required dependency is not > > > > > met. > > > > > > > > Not familiar enough with meson magic syntax to make vdev_netvsc not > > > > build > > > > without MLX. But that would just be pushing the mystery failure further > > > > down the road. > > > > > > I think you did not understand my proposal. > > > Let's take an example. You give this instruction to build DPDK: > > > buildtools/build-require.sh vdev_netvsc mlx4 > > > > There is no build-require.sh now and introducing yet another tool > > is not going to help. > > I disagree. > I think we are missing this tool. > > > > If mlx4 is not built then it will fail with this message: > > > librte_pmd_mlx4 failed to build > > > So the user knows what went wrong. No mystery. > > > > > > > > > > Another alternative would be to drop vdev_netvsc from the default Linux > > > > build. That way users would have to enable it manually. > > > > > > > > My preferred solution would be to just kill vdev_netvsc and go to only > > > > netvsc PMD > > > > but that is a couple releases away. > > > > Let's just fix the meson.build for now to skip vdev_netvsc unless both mlx4 > > and mlx5 are present. > > This is not a fix but a hack. > Why vdev_netvsc would need mlx PMDs? Because it is the Azure config? MLX is required because no other VF device has been tested. Intel devices barely work (wrong PCI id, and only a single queue). No one has ever tried other vendors.