RHEL 9.0.0 Alpha bootstrap

The content of this branch was automatically imported from Fedora ELN
with the following as its source:
https://src.fedoraproject.org/rpms/libvma#2387c1c73b344e5bc9e0ac286bc18c438a7821f1
This commit is contained in:
Petr Šabata 2020-10-15 18:01:03 +02:00
parent a4c4b918f9
commit a60d4b2b8c
7 changed files with 602 additions and 0 deletions

2
.gitignore vendored
View File

@ -0,0 +1,2 @@
/libvma-8.0.1.tar.gz
/libvma-9.0.2.tar.gz

View File

@ -0,0 +1,316 @@
From 5d23e646056ffb0c77826f7e9413edab2f3d7235 Mon Sep 17 00:00:00 2001
From: Igor Ivanov <igor.ivanov.va@gmail.com>
Date: Thu, 8 Jun 2017 17:50:01 +0300
Subject: [PATCH] issue: 928161 Add man pages
Changes introduce new folder as doc to store any documentation
related VMA library.
As a part of this commit man folder is added with man pages for
vma, vma daemon and vma_stats.
Signed-off-by: Igor Ivanov <igor.ivanov.va@gmail.com>
---
Makefile.am | 4 +--
build/libvma.spec.in | 3 ++
configure.ac | 5 +--
debian/libvma-utils.install | 1 +
debian/libvma.install | 2 ++
doc/man/Makefile.am | 24 +++++++++++++
doc/man/vma.7.in | 42 ++++++++++++++++++++++
doc/man/vma_stats.8.in | 70 +++++++++++++++++++++++++++++++++++++
doc/man/vmad.8.in | 41 ++++++++++++++++++++++
9 files changed, 188 insertions(+), 4 deletions(-)
create mode 100644 doc/man/Makefile.am
create mode 100644 doc/man/vma.7.in
create mode 100644 doc/man/vma_stats.8.in
create mode 100644 doc/man/vmad.8.in
diff --git a/Makefile.am b/Makefile.am
index 3872264d..6eecd5af 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
-SUBDIRS := src tools
+SUBDIRS := src tools doc/man
-DIST_SUBDIRS := src tests tools
+DIST_SUBDIRS := src tests tools doc/man
noinst_SCRIPTS = \
$(wildcard contrib/scripts/*)
diff --git a/build/libvma.spec.in b/build/libvma.spec.in
index f11e48d4..695348aa 100644
--- a/build/libvma.spec.in
+++ b/build/libvma.spec.in
@@ -169,6 +169,8 @@ fi
%else
%{_sysconfdir}/init.d/vma
%endif
+%{_mandir}/man7/vma.*
+%{_mandir}/man8/vmad.*
%files devel
%defattr(-,root,root,-)
@@ -178,6 +180,7 @@ fi
%defattr(-,root,root)
%{_bindir}/vma_stats
%{vma_datadir}/scripts/vma_perf_envelope.sh
+%{_mandir}/man8/vma_stats.*
%changelog
* Mon Nov 28 2016 Igor Ivanov <igor.ivanov.va@gmail.com>
diff --git a/configure.ac b/configure.ac
index 1df73e28..8d19935f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -53,7 +53,7 @@ dateopt=""
if test -n "$SOURCE_DATE_EPOCH" ; then
dateopt="-u -d @$SOURCE_DATE_EPOCH"
fi
-AC_SUBST([BUILD_DATE], [$(date $dateopt +'%b/%d/%Y')])
+AC_SUBST([BUILD_DATE], [$(date $dateopt +'%d %b %Y')])
AC_SUBST([BUILD_TIME], [$(date $dateopt +'%H:%M:%S')])
AC_SUBST([BUILD_DATE_CHANGELOG], [$(date $dateopt +'%a, %d %b %Y %T %z')])
@@ -102,9 +102,9 @@ show_section_title "Configure build tools"
# Find compiler, libtools, etc
#
+LT_INIT([disable-static])
AC_PROG_CC
AC_PROG_CXX
-AC_PROG_LIBTOOL
AC_PROG_YACC
AM_PROG_LEX
@@ -489,6 +489,7 @@ AC_CONFIG_FILES([
tests/throughput_test/Makefile
tools/Makefile
tools/daemon/Makefile
+ doc/man/Makefile
contrib/scripts/vma.init
contrib/scripts/vma.service
build/libvma.spec
diff --git a/debian/libvma-utils.install b/debian/libvma-utils.install
index 86a9e9c7..a2452f72 100644
--- a/debian/libvma-utils.install
+++ b/debian/libvma-utils.install
@@ -1 +1,2 @@
usr/bin/vma_stats
+usr/share/man/man8/vma_stats.*
diff --git a/debian/libvma.install b/debian/libvma.install
index c2dc65bc..65612191 100644
--- a/debian/libvma.install
+++ b/debian/libvma.install
@@ -7,4 +7,6 @@ usr/sbin/
etc/libvma.conf
etc/
contrib/scripts/vma.service lib/systemd/system
+usr/share/man/man7/vma.*
+usr/share/man/man8/vmad.*
libvma-debug.so usr/lib
diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am
new file mode 100644
index 00000000..e1c54e58
--- /dev/null
+++ b/doc/man/Makefile.am
@@ -0,0 +1,24 @@
+vma_man_pages = \
+ vma.7 \
+ vmad.8 \
+ vma_stats.8
+
+man_MANS = $(vma_man_pages)
+CLEANFILES = $(vma_man_pages)
+EXTRA_DIST = \
+ $(vma_man_pages:.7=.7.in) \
+ $(vma_man_pages:.8=.8.in)
+
+%.7: %.7.in
+ @cp $< $@
+ @sed -i 's/#BUILD_DATE#/@BUILD_DATE@/g' $@
+ @sed -i 's/#VMA_LIBRARY_MAJOR#/@VMA_LIBRARY_MAJOR@/g' $@
+ @sed -i 's/#VMA_LIBRARY_MINOR#/@VMA_LIBRARY_MINOR@/g' $@
+ @sed -i 's/#VMA_LIBRARY_REVISION#/@VMA_LIBRARY_REVISION@/g' $@
+
+%.8: %.8.in
+ @cp $< $@
+ @sed -i 's/#BUILD_DATE#/@BUILD_DATE@/g' $@
+ @sed -i 's/#VMA_LIBRARY_MAJOR#/@VMA_LIBRARY_MAJOR@/g' $@
+ @sed -i 's/#VMA_LIBRARY_MINOR#/@VMA_LIBRARY_MINOR@/g' $@
+ @sed -i 's/#VMA_LIBRARY_REVISION#/@VMA_LIBRARY_REVISION@/g' $@
diff --git a/doc/man/vma.7.in b/doc/man/vma.7.in
new file mode 100644
index 00000000..d029d5d9
--- /dev/null
+++ b/doc/man/vma.7.in
@@ -0,0 +1,42 @@
+.\" -*- groff -*-
+.\"
+.TH VMA 7 "#BUILD_DATE#" libvma "VMA(#VMA_LIBRARY_MAJOR#.#VMA_LIBRARY_MINOR#.#VMA_LIBRARY_REVISION#) User's Manual"
+.SH NAME
+VMA \- Mellanox's Messaging Accelerator (VMA) library.
+
+.SH SYNOPSIS
+.B libvma.so
+
+.SH DESCRIPTION
+.B VMA
+Mellanox's Messaging Accelerator (VMA) boosts performance for message-based
+and streaming applications such as those found in financial services market
+data environments and Web2.0 clusters. It allows application written over
+standard socket API to run over Ethernet and/or Infiniband from user-space
+with full network stack bypass. The result is a reduction in latency by as
+much as 300%, an increase in application throughput by as much as 200%, higher
+packets rates and better CPU utilization as compared to applications running
+on standard Ethernet or InfiniBand interconnect networks.
+
+.SH FILES
+.I /etc/libvma.conf
+.RS
+The system wide configuration file. Look inside libvma.conf for instructions
+and examples.
+.RE
+.I /usr/share/doc/libvma/README.txt
+.RS
+General VMA Library description.
+.RE
+.I /usr/share/doc/libvma/VMA_VERSION
+.RS
+VMA Library version information.
+.RE
+
+.SH SEE ALSO
+.BR vmad (8),
+.BR vma_stats (8)
+
+.SH "AUTHORS"
+.TP
+Igor Ivanov <igori@mellanox.com>
diff --git a/doc/man/vma_stats.8.in b/doc/man/vma_stats.8.in
new file mode 100644
index 00000000..9609a464
--- /dev/null
+++ b/doc/man/vma_stats.8.in
@@ -0,0 +1,70 @@
+.\" -*- groff -*-
+.\"
+.TH VMA 8 "#BUILD_DATE#" libvma "VMA(#VMA_LIBRARY_MAJOR#.#VMA_LIBRARY_MINOR#.#VMA_LIBRARY_REVISION#) User's Manual"
+.SH NAME
+vma_stats \- Mellanox's Messaging Accelerator (VMA) statistic utility.
+
+.SH SYNOPSIS
+.B vma_stats
+[\-p \fIpid\fP] [\-k \fIdirectory\fP] [\-v \fIview\fP] [\-d \fIdetails\fP] [\-i \fIinterval\fP]
+[\-n \fIapplication\fP] [\-f] [\-F] [\-c \fIcycles\fP] [\-l \fIlevel\fP] [\-z]
+
+.SH DESCRIPTION
+vma_stats is program that reports information about sockets and internal related objects for vma (7).
+vma_stats can be configured using command-line options
+
+The options are as follows:
+.sp
+\fB\-p,\-\-pid\fP \fIid\fP
+Show VMA statistics for process with pid.
+.TP
+\fB\-k,\-\-directory\fP=\fIdirectory\fP
+Set shared memory directory path.
+.TP
+\fB\-n,\-\-name\fP=\fIapplication\fP
+Show VMA statistics for application.
+.TP
+\fB\-f,\-\-find_pid\fP
+Find and show statistics for VMA instance running.
+.TP
+\fB\-F,\-\-forbid_clean\fP
+By setting this flag inactive shared objects would not be removed.
+.TP
+\fB\-i,\-\-interval\fP=\fIinterval\fP
+Print report every interval seconds.
+.TP
+\fB\-c,\-\-cycles\fP=\fIcycles\fP
+Do report print cycles and exit, use 0 value for infinite.
+.TP
+\fB\-v,\-\-view\fP=\fI[1|2|3|4|5]\fP
+Set view type: 1\- basic info, 2\- extra info, 3\- full info, 4\- mc groups, 5\- similar to 'netstat \-tunaep'.
+.TP
+\fB\-d,\-\-details\fP=\fI[1|2]\fP
+Set details mode:1\- to see totals, 2\- to see deltas.
+.TP
+\fB\-z,\-\-zero\fP
+Zero counters.
+.TP
+\fB\-l,\-\-log_level\fP=\fIlevel\fP
+Set VMA log level (one of: none, panic, error, warn, info, details, debug, fine, finer, all).
+.TP
+\fB\-S,\-\-fd_dump\fP=\fIfd [level]\fP
+Dump statistics for fd number using log level. Use 0 value for all open fds.
+.TP
+\fB\-D,\-\-details_level\fP=\fIlevel\fP
+Set VMA log details level.
+.TP
+\fB\-s,\-\-sockets\fP=\fI[list|range]\fP
+Log only sockets that match list or range, format: 4-16 or 1,9 (or combination).
+.TP
+\fB\-V,\-\-version\fP
+Print version.
+.TP
+
+.SH SEE ALSO
+.BR vma (7),
+.BR vmad (8)
+
+.SH "AUTHORS"
+.TP
+Igor Ivanov <igori@mellanox.com>
diff --git a/doc/man/vmad.8.in b/doc/man/vmad.8.in
new file mode 100644
index 00000000..cac0c75b
--- /dev/null
+++ b/doc/man/vmad.8.in
@@ -0,0 +1,41 @@
+.\" -*- groff -*-
+.\"
+.TH VMA 8 "#BUILD_DATE#" libvma "VMA(#VMA_LIBRARY_MAJOR#.#VMA_LIBRARY_MINOR#.#VMA_LIBRARY_REVISION#) User's Manual"
+.SH NAME
+vmad \- Mellanox's Messaging Accelerator (VMA) daemon.
+
+.SH SYNOPSIS
+.B vmad
+[\-\-console] [\-\-pid,-p \fInum\fP] [\-\-fid,-f \fInum\fP]
+[\-\-force-rst] [\-\-verbose,\-v \fIlevel\fP]
+
+.SH DESCRIPTION
+vmad is the daemon program for vma (7).
+
+vmad can be configured using command-line options
+
+The options are as follows:
+.sp
+\fB\-\-console\fP
+Enable foreground mode.
+.TP
+\fB\-\-pid,\-p \fP\fInum\fP
+Set prime number as maximum of processes per node.
+.TP
+\fB\-\-fid,\-f \fP\fInum\fP
+Set prime number as maximum of sockets per process.
+.TP
+\fB\-\-force\-rst\fP
+Force internal RST.
+.TP
+\fB\-\-verbose,\-v \fP\fIlevel\fP
+Output verbose level
+.TP
+
+.SH SEE ALSO
+.BR vma (7),
+.BR vma_stats (8)
+
+.SH "AUTHORS"
+.TP
+Igor Ivanov <igori@mellanox.com>
--
2.18.1

View File

@ -0,0 +1,34 @@
From 96a275dbffcc967cdbd4c29c9a3196a9518bae00 Mon Sep 17 00:00:00 2001
From: Igor Ivanov <igor.ivanov.va@gmail.com>
Date: Fri, 19 Jun 2020 16:29:25 +0300
Subject: [PATCH] Update systemctl files
Signed-off-by: Igor Ivanov <igor.ivanov.va@gmail.com>
---
contrib/scripts/vma.service.in | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/contrib/scripts/vma.service.in b/contrib/scripts/vma.service.in
index e268173f..13457b2f 100644
--- a/contrib/scripts/vma.service.in
+++ b/contrib/scripts/vma.service.in
@@ -1,14 +1,12 @@
[Unit]
-Description=VMA Daemon. Version: @VERSION@-@VMA_LIBRARY_RELEASE@
-After=network.target syslog.target
-Requires=network.target
+Description=VMA Daemon
+After=network.target
[Service]
Type=forking
Restart=on-failure
ExecStart=@prefix@/sbin/vma start
ExecStop=@prefix@/sbin/vma stop
-ExecReload=@prefix@/sbin/vma restart
RestartForceExitStatus=1 SIGTERM
[Install]
--
2.18.1

View File

@ -0,0 +1,54 @@
From 402a7f565d6171d195a5b65b9d54f42d802211c1 Mon Sep 17 00:00:00 2001
From: Igor Ivanov <igor.ivanov.va@gmail.com>
Date: Tue, 14 Jul 2020 19:34:02 +0300
Subject: [PATCH] Remove 30-libvma-limits.conf
RDMA communications require that physical memory in the computer
be pinned. Pinning memory is normally a very privileged operation.
In order to allow users other than root to run large RDMA applications,
it will likely be necessary to increase the amount of memory
that non-root users are allowed to pin in the system.
This is done by adding a file in the /etc/security/limits.d/ directory.
It can be done by an administrator of system for user/group that
use libvma.
Signed-off-by: Igor Ivanov <igor.ivanov.va@gmail.com>
---
src/vma/Makefile.am | 5 +----
src/vma/util/30-libvma-limits.conf | 6 ------
2 files changed, 1 insertion(+), 10 deletions(-)
delete mode 100644 src/vma/util/30-libvma-limits.conf
diff --git a/src/vma/Makefile.am b/src/vma/Makefile.am
index 6a710a72..8f73fe93 100644
--- a/src/vma/Makefile.am
+++ b/src/vma/Makefile.am
@@ -28,12 +28,9 @@ EXTRA_DIST = \
util/hash_map.inl \
dev/cq_mgr.inl \
dev/cq_mgr_mlx5.inl \
- util/libvma.conf \
- util/30-libvma-limits.conf
+ util/libvma.conf
sysconf_DATA = util/libvma.conf
-othersysconfdir=$(sysconfdir)/security/limits.d
-othersysconf_DATA=util/30-libvma-limits.conf
otherincludedir = $(includedir)/mellanox
otherinclude_HEADERS = vma_extra.h
diff --git a/src/vma/util/30-libvma-limits.conf b/src/vma/util/30-libvma-limits.conf
deleted file mode 100644
index 9c0d8bc0..00000000
--- a/src/vma/util/30-libvma-limits.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-# Default limits that are needed for proper work of libvma
-# Read more about this topic in the VMA's User Manual
-
-* - memlock unlimited
-* soft memlock unlimited
-* hard memlock unlimited
--
2.18.1

View File

@ -0,0 +1,73 @@
From dd5cfb9017c0c6ac233faf4fb17ebfa8a2101cf8 Mon Sep 17 00:00:00 2001
From: Igor Ivanov <igor.ivanov.va@gmail.com>
Date: Tue, 14 Jul 2020 21:33:31 +0300
Subject: [PATCH] Use vmad for systemd
Signed-off-by: Igor Ivanov <igor.ivanov.va@gmail.com>
---
Makefile.am | 9 ---------
contrib/scripts/vma.service.in | 3 +--
tools/daemon/daemon.c | 5 -----
3 files changed, 1 insertion(+), 16 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 6eecd5af..dc01e13e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,23 +23,14 @@ mydoc_DATA = README.txt journal.txt VMA_VERSION
install-exec-hook:
if type systemctl >/dev/null 2>&1; then \
- cp $(top_builddir)/contrib/scripts/vma.init $(DESTDIR)$(sbindir)/vma; \
- chmod 755 $(DESTDIR)$(sbindir)/vma; \
mkdir -p $(DESTDIR)$(prefix)/lib/systemd/system/; \
cp $(top_builddir)/contrib/scripts/vma.service $(DESTDIR)$(prefix)/lib/systemd/system/vma.service; \
chmod 644 $(DESTDIR)$(prefix)/lib/systemd/system/vma.service; \
- else \
- mkdir -p $(DESTDIR)/$(sysconfdir)/init.d; \
- cp $(top_builddir)/contrib/scripts/vma.init $(DESTDIR)$(sysconfdir)/init.d/vma; \
- chmod 755 $(DESTDIR)$(sysconfdir)/init.d/vma; \
fi
uninstall-hook:
if type systemctl >/dev/null 2>&1; then \
- rm -rf $(DESTDIR)$(sbindir)/vma; \
rm -rf $(DESTDIR)$(prefix)/lib/systemd/system/vma.service; \
- else \
- rm -rf $(DESTDIR)$(sysconfdir)/init.d/vma; \
fi
install-all: install
diff --git a/contrib/scripts/vma.service.in b/contrib/scripts/vma.service.in
index 13457b2f..e6f5a25b 100644
--- a/contrib/scripts/vma.service.in
+++ b/contrib/scripts/vma.service.in
@@ -5,8 +5,7 @@ After=network.target
[Service]
Type=forking
Restart=on-failure
-ExecStart=@prefix@/sbin/vma start
-ExecStop=@prefix@/sbin/vma stop
+ExecStart=@prefix@/sbin/vmad
RestartForceExitStatus=1 SIGTERM
[Install]
diff --git a/tools/daemon/daemon.c b/tools/daemon/daemon.c
index 4444258d..9d23395a 100644
--- a/tools/daemon/daemon.c
+++ b/tools/daemon/daemon.c
@@ -66,11 +66,6 @@ int main(int argc, char *argv[])
/* Setup syslog logging */
openlog(MODULE_NAME, LOG_PID, LOG_LOCAL5);
- /* already a daemon */
- if (getppid() == 1) {
- return 0;
- }
-
/* command line parsing... */
config_def();
log_info("Starting\n");
--
2.18.1

122
libvma.spec Normal file
View File

@ -0,0 +1,122 @@
%{!?configure_options: %global configure_options %{nil}}
Name: libvma
Version: 9.0.2
Release: 1%{?dist}
Summary: A library for boosting TCP and UDP traffic (over RDMA hardware)
License: GPLv2 or BSD
Url: https://github.com/Mellanox/libvma
Source0: https://github.com/Mellanox/libvma/archive/%{version}/%{name}-%{version}.tar.gz
Patch0: 0001-issue-928161-Add-man-pages.patch
Patch1: 0002-Update-systemctl-files.patch
Patch2: 0003-Remove-30-libvma-limits.patch
Patch3: 0004-Use-vmad-for-systemd.patch
# libvma currently supports only the following architectures
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
BuildRequires: pkgconfig
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: gcc-c++
BuildRequires: rdma-core-devel
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(libnl-3.0)
BuildRequires: pkgconfig(libnl-route-3.0)
%description
libvma is a LD_PRELOAD-able library that boosts performance of TCP and
UDP traffic. It allows application written over standard socket API to
handle fast path data traffic from user space over Ethernet and/or
Infiniband with full network stack bypass and get better throughput,
latency and packets/sec rate.
No application binary change is required for that.
libvma is supported by RDMA capable devices that support "verbs"
IBV_QPT_RAW_PACKET QP for Ethernet and/or IBV_QPT_UD QP for IPoIB.
%package devel
Summary: Header files required to develop with libvma
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package includes headers for building programs with libvma's
interfaces.
%package utils
Summary: Utilities used with libvma
Requires: %{name}%{?_isa} = %{version}-%{release}
%description utils
This package contains the tool for collecting and analyzing libvma statistic.
%prep
%setup -q
%autosetup -p1
%build
export revision=1
if [ ! -e configure ] && [ -e autogen.sh ]; then
VMA_RELEASE=1 ./autogen.sh
fi
%configure %{?configure_options}
%{make_build}
%install
%{make_install}
find $RPM_BUILD_ROOT%{_libdir} -name '*.la' -delete
install -D -m 644 contrib/scripts/vma.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/vma.service
%post
%systemd_post vma.service
%preun
%systemd_preun vma.service
%postun
%systemd_postun_with_restart vma.service
%files
%{_libdir}/%{name}.so*
%dir %{_pkgdocdir}
%doc %{_pkgdocdir}/README.txt
%doc %{_pkgdocdir}/journal.txt
%doc %{_pkgdocdir}/VMA_VERSION
%config(noreplace) %{_sysconfdir}/libvma.conf
%{_sbindir}/vmad
%{_prefix}/lib/systemd/system/vma.service
%license COPYING LICENSE
%{_mandir}/man7/vma.*
%{_mandir}/man8/vmad.*
%files devel
%dir %{_includedir}/mellanox
%{_includedir}/mellanox/vma_extra.h
%files utils
%{_bindir}/vma_stats
%{_mandir}/man8/vma_stats.*
%changelog
* Fri Apr 17 2020 Igor Ivanov <igor.ivanov.va@gmail.com> 9.0.2-1
- Align with Fedora guidelines
- Bump version to 9.0.2
* Thu Feb 7 2019 Igor Ivanov <igor.ivanov.va@gmail.com> 8.8.2-1
- Improve package update processing
* Tue Dec 19 2017 Igor Ivanov <igor.ivanov.va@gmail.com> 8.5.1-1
- Add systemd support
* Tue May 9 2017 Ophir Munk <ophirmu@mellanox.com> 8.3.4-1
- Add libvma-debug.so installation
* Mon Nov 28 2016 Igor Ivanov <igor.ivanov.va@gmail.com> 8.2.2-1
- Add daemon
* Mon Jan 4 2016 Avner BenHanoch <avnerb@mellanox.com> 7.0.12-1
- Initial Packaging

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (libvma-9.0.2.tar.gz) = c1b0cc26066072a539250463bb83f696114eb63b26758f2719db0ad0d6f17078f6e8a148cde48f2f76d411c91dfd94fbe1539956a82e62b0769e0a4017b1ec1f