
From: wenglianfa <wenglianfa@huawei.com> Now that tracing libraries has been separated from regular providers libraries, enabling LTTng tracing by default has become feasible for release version rdma-core. Users can customize the installation of the tracing libraries according to their needs, improving the usability. Signed-off-by: wenglianfa <wenglianfa@huawei.com> Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com> --- debian/control | 20 ++++++++++++++++++++ debian/ibverbs-providers.install | 18 +++++++++++++++++- debian/ibverbs-trace.install | 1 + debian/rules | 2 +- redhat/rdma-core.spec | 15 +++++++++++++++ suse/rdma-core.spec | 16 ++++++++++++++++ 6 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 debian/ibverbs-trace.install diff --git a/debian/control b/debian/control index e074c0ca5..90c77c25b 100644 --- a/debian/control +++ b/debian/control @@ -18,6 +18,7 @@ Build-Depends: cmake (>= 2.8.11), pkg-config, python3-dev, python3-docutils, + liblttng-ust-dev (>= 2.13.0), valgrind [amd64 arm64 armhf i386 mips mips64el mipsel powerpc ppc64 ppc64el s390x] Rules-Requires-Root: no Standards-Version: 4.7.0 @@ -116,6 +117,25 @@ Description: Examples for the libibverbs library This package contains useful libibverbs1 example programs such as ibv_devinfo, which displays information about InfiniBand devices. +Package: ibverbs-trace +Section: libs +Architecture: linux-any +Multi-Arch: same +Depends: liblttng-ust1 (>= 2.13.0) + ${misc:Depends}, + ${shlibs:Depends} +Description: Trace for the libibverbs library + libibverbs is a library that allows userspace processes to use RDMA + "verbs" as described in the InfiniBand Architecture Specification and + the RDMA Protocol Verbs Specification. iWARP ethernet NICs support + RDMA over hardware-offloaded TCP/IP, while InfiniBand is a + high-throughput, low-latency networking technology. InfiniBand host + channel adapters (HCAs) and iWARP NICs commonly support direct + hardware access from userspace (kernel bypass), and libibverbs + supports this when available. + . + This package contains trace libraries for libibverbs1. + Package: libibverbs-dev Section: libdevel Architecture: linux-any diff --git a/debian/ibverbs-providers.install b/debian/ibverbs-providers.install index 42e939aed..1d9cf1616 100644 --- a/debian/ibverbs-providers.install +++ b/debian/ibverbs-providers.install @@ -1,7 +1,23 @@ etc/libibverbs.d/ usr/lib/*/libefa.so.* usr/lib/*/libhns.so.* -usr/lib/*/libibverbs/lib*-rdmav*.so usr/lib/*/libmana.so.* usr/lib/*/libmlx4.so.* usr/lib/*/libmlx5.so.* +usr/lib/*/libibverbs/libbnxt_re-rdmav*.so +usr/lib/*/libibverbs/libcxgb4-rdmav*.so +usr/lib/*/libibverbs/libefa-rdmav*.so +usr/lib/*/libibverbs/liberdma-rdmav*.so +usr/lib/*/libibverbs/libhfi1verbs-rdmav*.so +usr/lib/*/libibverbs/libhns-rdmav*.so +usr/lib/*/libibverbs/libipathverbs-rdmav*.so +usr/lib/*/libibverbs/libirdma-rdmav*.so +usr/lib/*/libibverbs/libmana-rdmav*.so +usr/lib/*/libibverbs/libmlx4-rdmav*.so +usr/lib/*/libibverbs/libmlx5-rdmav*.so +usr/lib/*/libibverbs/libmthca-rdmav*.so +usr/lib/*/libibverbs/libocrdma-rdmav*.so +usr/lib/*/libibverbs/libqedr-rdmav*.so +usr/lib/*/libibverbs/librxe-rdmav*.so +usr/lib/*/libibverbs/libsiw-rdmav*.so +usr/lib/*/libibverbs/libvmw_pvrdma-rdmav*.so diff --git a/debian/ibverbs-trace.install b/debian/ibverbs-trace.install new file mode 100644 index 000000000..b1231279f --- /dev/null +++ b/debian/ibverbs-trace.install @@ -0,0 +1 @@ +usr/lib/*/libibverbs/lib*trace-rdmav*.so diff --git a/debian/rules b/debian/rules index 628f64923..57215945a 100755 --- a/debian/rules +++ b/debian/rules @@ -37,6 +37,7 @@ DH_AUTO_CONFIGURE := "--" \ "-DCMAKE_INSTALL_UDEV_RULESDIR:PATH=/lib/udev/rules.d" \ "-DCMAKE_INSTALL_PERLDIR:PATH=/usr/share/perl5" \ "-DENABLE_STATIC=1" \ + "-DENABLE_LTTNG=1" \ $(EXTRA_CMAKE_FLAGS) override_dh_auto_configure: @@ -49,7 +50,6 @@ override_dh_auto_configure: -DNO_PYVERBS=1; \ fi - override_dh_auto_build: ninja -C build-deb -v diff --git a/redhat/rdma-core.spec b/redhat/rdma-core.spec index aa9defae6..d2a752884 100644 --- a/redhat/rdma-core.spec +++ b/redhat/rdma-core.spec @@ -87,6 +87,8 @@ BuildRequires: make BuildRequires: pandoc %endif +BuildRequires: lttng-ust-devel >= 2.13.0 + %description RDMA core userspace infrastructure and documentation, including initialization scripts, kernel driver-specific modprobe override configs, IPoIB network @@ -211,6 +213,14 @@ Requires: libibverbs%{?_isa} = %{version}-%{release} Useful libibverbs example programs such as ibv_devinfo, which displays information about RDMA devices. +%package -n libibverbs-trace +Summary: libibverbs tracing library +Requires: libibverbs%{?_isa} = %{version}-%{release} +Requires: lttng-ust >= 2.13.0 + +%description -n libibverbs-trace +Library for IO path tracing. + %package -n ibacm Summary: InfiniBand Communication Manager Assistant Requires(post): systemd-units @@ -322,6 +332,7 @@ easy, object-oriented access to IB verbs. -DPYTHON_EXECUTABLE:PATH=%{__python3} \ -DCMAKE_INSTALL_PYTHON_ARCH_LIB:PATH=%{python3_sitearch} \ %endif + -DENABLE_LTTNG=1 \ %if %{with_pyverbs} -DNO_PYVERBS=0 %else @@ -599,11 +610,15 @@ fi %{_libdir}/libmlx4.so.* %config(noreplace) %{_sysconfdir}/libibverbs.d/*.driver %doc %{_docdir}/%{name}/libibverbs.md +%exclude %{_libdir}/libibverbs/*trace*.so %files -n libibverbs-utils %{_bindir}/ibv_* %{_mandir}/man1/ibv_* +%files -n libibverbs-trace +%{_libdir}/libibverbs/*trace*.so + %files -n ibacm %config(noreplace) %{_sysconfdir}/rdma/ibacm_opts.cfg %{_bindir}/ib_acme diff --git a/suse/rdma-core.spec b/suse/rdma-core.spec index 8c125ab54..043fb3fdc 100644 --- a/suse/rdma-core.spec +++ b/suse/rdma-core.spec @@ -146,6 +146,8 @@ BuildRequires: make %define cmake_install DESTDIR=%{buildroot} make install %endif +BuildRequires: lttng-ust-devel >= 2.13.0 + %description RDMA core userspace infrastructure and documentation, including initialization scripts, kernel driver-specific modprobe override configs, IPoIB network @@ -306,6 +308,15 @@ Requires: libibverbs%{?_isa} = %{version} Useful libibverbs example programs such as ibv_devinfo, which displays information about RDMA devices. +%package -n libibverbs-trace +Summary: libibverbs tracing library +Group: Productivity/Networking/Diagnostic +Requires: libibverbs%{?_isa} = %{version}-%{release} +Requires: lttng-ust >= 2.13.0 + +%description -n libibverbs-trace +Library for IO path tracing. + %package -n ibacm Summary: InfiniBand Communication Manager Assistant Group: Productivity/Networking/Other @@ -467,6 +478,7 @@ easy, object-oriented access to IB verbs. -DPYTHON_EXECUTABLE:PATH=%{__python3} \ -DCMAKE_INSTALL_PYTHON_ARCH_LIB:PATH=%{python3_sitearch} \ %endif + -DENABLE_LTTNG=1 \ %if %{with_pyverbs} -DNO_PYVERBS=0 %else @@ -707,6 +719,7 @@ done %doc %{_docdir}/%{name}-%{version}/rxe.md %doc %{_docdir}/%{name}-%{version}/tag_matching.md %{_mandir}/man7/rxe* +%exclude %{_libdir}/libibverbs/*trace*.so %files -n libibnetdisc%{ibnetdisc_major} %{_libdir}/libibnetdisc.so.* @@ -739,6 +752,9 @@ done %{_bindir}/ibv_* %{_mandir}/man1/ibv_* +%files -n libibverbs-trace +%{_libdir}/libibverbs/*trace*.so + %files -n ibacm %config(noreplace) %{_sysconfdir}/rdma/ibacm_opts.cfg %{_bindir}/ib_acme -- 2.33.0