Skip to content

Commit

Permalink
Merge pull request esnet#1591 from esnet/mt
Browse files Browse the repository at this point in the history
Multithreading support
  • Loading branch information
bmah888 authored Nov 8, 2023
2 parents ca7c875 + 291c48e commit a393df1
Show file tree
Hide file tree
Showing 18 changed files with 2,175 additions and 279 deletions.
7 changes: 7 additions & 0 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ host_triplet = @host@
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ax_check_openssl.m4 \
$(top_srcdir)/config/ax_pthread.m4 \
$(top_srcdir)/config/iperf_config_static_bin.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
Expand Down Expand Up @@ -219,6 +220,7 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
Expand Down Expand Up @@ -273,6 +275,10 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_CXX = @PTHREAD_CXX@
PTHREAD_LIBS = @PTHREAD_LIBS@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
Expand All @@ -291,6 +297,7 @@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
ax_pthread_config = @ax_pthread_config@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
Expand Down
32 changes: 32 additions & 0 deletions RELNOTES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,38 @@
iperf3 Release Notes
====================

iperf-3.15-mt-beta1 2023-09-29
------------------------------
Accumulated release notes from iperf-3.14 and earlier multithreaded
beta releases:

* Notable user-visible changes

* Multiple test streams started with -P/--parallel will now be
serviced by different threads. This allows iperf3 to take
advantage of multiple CPU cores on modern processors.

* Remove some busy-waiting left over from the original
single-threaded implementation, which caused the multi-threaded
iperf3 to consume CPU resources for no particular reason, and
possible subsequent packet loss.

* CentOS 7's default compiler is a version of GCC that is too old to
compile code using C11 atomic variables. A workaround has been
devised for 64-bit CentOS 7 systems, it is not clear whether this
approach will work on 32-bit CentOS 7 hosts, or other
similarly-vintage build environment.

* Fix a bug related to idle timeouts, so that the --rcv-timeout
option works correctly.

* Make shutdown of threads more tolerant in the face of various
orders of operations at the end of tests.

* Developer-visible changes

* iperf3 requires pthreads and C atomic variables to compile and run.

iperf-3.15 2023-09-14
---------------------

Expand Down
Loading

0 comments on commit a393df1

Please sign in to comment.