On 10/11/21, 5:55 AM, "Thomas Monjalon" <tho...@monjalon.net> wrote:
11/10/2021 08:58, Xia, Chenbo: > From: Liu, Changpeng <changpeng....@intel.com> > > Another issue raised by Jim Harris is that for distro packaged DPDK, since > > this option isn't enabled by default, this will not allow SPDK > > to use the distro packaged DPDK after this release. > > I think for this problem, we have two options: enable driver sdk by default or > let OSV configure the option when building distros. I'm fine with either option. The meson option enable_driver_sdk is described as "Install headers to build drivers." Standard development packages should provide headers to build an application. This option is for projects extending DPDK drivers out of the tree. The preferred option is to develop drivers inside DPDK. If a project needs the special option enable_driver_sdk, 1/ it is not following the recommended approach, 2/ it has to manage the burden of driver compatibility with DPDK, 3/ it can compile DPDK itself. So I think we neither need to make it a default, nor force distros to enable it. Am I missing something? Hi Thomas, This preference to develop PCI drivers inside of DPDK seems to be a very recent preference. enable_driver_sdk was just added in DPDK 21.05, and for building out-of-tree ethdev drivers. But DPDK has always enabled building out-of-tree PCI drivers with its default build configuration - SPDK has relied on these APIs since its inception. We have always viewed DPDK as being a very useful toolkit for building userspace drivers (especially storage drivers!) that aren't part of DPDK itself. We hope that continues to be the case. All of that being said, SPDK already compiles DPDK itself as the default configuration. We maintain a DPDK fork for patches that have not yet hit DPDK upstream. If this gets merged we can document that users building DPDK themselves must set enable_driver_sdk. We can also document to our users that SPDK may not build against distro DPDK packages, once distros pick up these changes. -Jim