From 74fbdd5c6dcb1b62a0ba922b8bcd7ca01fe7ca30 Mon Sep 17 00:00:00 2001 From: "Harper, Jason M" Date: Fri, 2 Jan 2026 10:43:30 -0800 Subject: [PATCH 1/4] Unify fio version for x86 and arm Signed-off-by: Harper, Jason M --- tools/Makefile | 32 ++++++-------------------------- tools/build.Dockerfile | 5 +++++ 2 files changed, 11 insertions(+), 26 deletions(-) diff --git a/tools/Makefile b/tools/Makefile index 47c9ba05..a3a732f8 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -122,7 +122,6 @@ endif cd cpuid && make DMIDECODE_VERSION := dmidecode-3-5 - dmidecode-repo: ifeq ("$(wildcard dmidecode-repo)","") git clone $(GIT_CLONE_OPTS) --branch $(DMIDECODE_VERSION) https://github.com/mirror/dmidecode.git dmidecode-repo @@ -147,7 +146,6 @@ else endif ETHTOOL_VERSION := v6.5 - ethtool-repo: ifeq ("$(wildcard ethtool-repo)","") git clone $(GIT_CLONE_OPTS) --branch $(ETHTOOL_VERSION) https://git.kernel.org/pub/scm/network/ethtool/ethtool.git ethtool-repo || \ @@ -174,22 +172,13 @@ else @echo "ethtool-aarch64 already built" endif -LIBAIO_VERSION := libaio-0.3.113 -libaio-aarch64: -ifeq ("$(wildcard libaio-aarch64)","") - git clone $(GIT_CLONE_OPTS) --branch $(LIBAIO_VERSION) https://pagure.io/libaio libaio-aarch64 -else - cd libaio-aarch64 && git fetch --tags && git checkout $(LIBAIO_VERSION) -endif - cd libaio-aarch64 && CC=aarch64-linux-gnu-gcc make -j$(NPROC) - -FIO_VERSION := fio-3.38 - +FIO_COMMIT := de3d5e68dd017a6d6099913b7831bb94f46e49cc # This commit is more recent than the latest release (3.41) and is needed for the aarch64 build's --extra-ldflags option fio-repo: ifeq ("$(wildcard fio-repo)","") - git clone $(GIT_CLONE_OPTS) --branch $(FIO_VERSION) https://github.com/axboe/fio.git fio-repo + git clone https://github.com/axboe/fio.git fio-repo + cd fio-repo && git checkout $(FIO_COMMIT) else - cd fio-repo && git fetch --tags && git checkout $(FIO_VERSION) + cd fio-repo && git fetch && git checkout $(FIO_COMMIT) endif fio: fio-repo @@ -201,11 +190,9 @@ else @echo "fio already built" endif -# fio-aarch64 needs de3d5e68dd017a6d6099913b7831bb94f46e49cc or newer to support "--extra-ldflags" from commit 6fbe3284d -fio-aarch64: libaio-aarch64 +fio-aarch64: fio-repo ifeq ("$(wildcard fio-aarch64/config.log)","") - git clone https://github.com/axboe/fio.git fio-aarch64 - cd fio-aarch64 && git checkout de3d5e68dd017a6d6099913b7831bb94f46e49cc + cp -r fio-repo fio-aarch64 cd fio-aarch64 && ./configure --build-static --disable-native --cc=aarch64-linux-gnu-gcc --extra-cflags="-I../libaio-aarch64/src" --extra-ldflags="-L../libaio-aarch64/src" cd fio-aarch64 && make -j$(NPROC) else @@ -213,7 +200,6 @@ else endif IPMITOOL_VERSION := IPMITOOL_1_8_19 - ipmitool-repo: ifeq ("$(wildcard ipmitool-repo)","") git clone $(GIT_CLONE_OPTS) --branch $(IPMITOOL_VERSION) https://github.com/ipmitool/ipmitool.git ipmitool-repo @@ -246,7 +232,6 @@ else endif LSHW_VERSION := B.02.19 - lshw-repo: ifeq ("$(wildcard lshw-repo)","") git clone $(GIT_CLONE_OPTS) --branch $(LSHW_VERSION) https://github.com/lyonel/lshw.git lshw-repo @@ -271,7 +256,6 @@ else endif LSPCI_VERSION := v3.13.0 - lspci-repo: ifeq ("$(wildcard lspci-repo)","") git clone $(GIT_CLONE_OPTS) --branch $(LSPCI_VERSION) https://github.com/pciutils/pciutils.git lspci-repo @@ -323,7 +307,6 @@ endif cd pcm/build && cmake --build . PERF_VERSION := 6.15.3 - linux-$(PERF_VERSION).tar.xz: wget $(WGET_OPTS) https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$(PERF_VERSION).tar.xz @@ -369,7 +352,6 @@ else endif SSHPASS_VERSION := 1.10 - sshpass-$(SSHPASS_VERSION).tar.gz: wget $(WGET_OPTS) https://sourceforge.net/projects/sshpass/files/sshpass/$(SSHPASS_VERSION)/sshpass-$(SSHPASS_VERSION).tar.gz @@ -394,7 +376,6 @@ stackcollapse-perf-aarch64: cd stackcollapse-perf && CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o $@ STRESS_NG_VERSION := V0.13.08 - stress-ng-repo: ifeq ("$(wildcard stress-ng-repo)","") git clone $(GIT_CLONE_OPTS) --branch $(STRESS_NG_VERSION) https://github.com/ColinIanKing/stress-ng.git stress-ng-repo @@ -419,7 +400,6 @@ else endif SYSSTAT_VERSION := v12.7.6 - sysstat-repo: ifeq ("$(wildcard sysstat-repo)","") git clone $(GIT_CLONE_OPTS) --branch $(SYSSTAT_VERSION) https://github.com/sysstat/sysstat.git sysstat-repo diff --git a/tools/build.Dockerfile b/tools/build.Dockerfile index 1ce6d1bb..46b11e6b 100644 --- a/tools/build.Dockerfile +++ b/tools/build.Dockerfile @@ -71,6 +71,11 @@ RUN git clone https://github.com/madler/zlib.git zlib-aarch64 \ && make \ && cp libz.a /usr/lib/aarch64-linux-gnu/ +# build libaio for aarch64 (for fio) +RUN git clone --depth 1 --single-branch --branch libaio-0.3.113 https://pagure.io/libaio libaio-aarch64 \ +&& cd libaio-aarch64 \ +&& CC=aarch64-linux-gnu-gcc make + # Build tools RUN mkdir workdir ADD . /workdir From c865ece81cb8a920bd56787ffbefa9d38fa9a5e5 Mon Sep 17 00:00:00 2001 From: "Harper, Jason M" Date: Fri, 2 Jan 2026 10:58:01 -0800 Subject: [PATCH 2/4] fix sweep for 2026 Signed-off-by: Harper, Jason M --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 44a489c4..9e87ec5b 100644 --- a/Makefile +++ b/Makefile @@ -155,7 +155,7 @@ check: check_format check_vet check_static check_license check_lint check_vuln t .PHONY: sweep sweep: - rm -rf perfspect_2025-* + rm -rf perfspect_202?-* rm -rf debug_out/* rm -rf test/output rm -f __debug_bin*.log From 86b3612186b7a7af8ff5e64cb42d94a294c1cb8d Mon Sep 17 00:00:00 2001 From: "Harper, Jason M" Date: Fri, 2 Jan 2026 12:07:10 -0800 Subject: [PATCH 3/4] fio-aarch64 needs libaio source during build Signed-off-by: Harper, Jason M --- tools/Makefile | 11 ++++++++++- tools/build.Dockerfile | 5 ----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/tools/Makefile b/tools/Makefile index a3a732f8..46a9b130 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -181,7 +181,7 @@ else cd fio-repo && git fetch && git checkout $(FIO_COMMIT) endif -fio: fio-repo +fio: fio-repo libaio-aarch64 ifeq ("$(wildcard fio/config.log)","") cp -r fio-repo fio cd fio && ./configure --build-static --disable-native @@ -190,6 +190,15 @@ else @echo "fio already built" endif +LIBAIO_VERSION := libaio-0.3.113 +libaio-aarch64: +ifeq ("$(wildcard libaio-aarch64)","") + git clone $(GIT_CLONE_OPTS) --branch $(LIBAIO_VERSION) https://pagure.io/libaio libaio-aarch64 +else + cd libaio-aarch64 && git fetch --tags && git checkout $(LIBAIO_VERSION) +endif + cd libaio-aarch64 && CC=aarch64-linux-gnu-gcc make -j$(NPROC) + fio-aarch64: fio-repo ifeq ("$(wildcard fio-aarch64/config.log)","") cp -r fio-repo fio-aarch64 diff --git a/tools/build.Dockerfile b/tools/build.Dockerfile index 46b11e6b..1ce6d1bb 100644 --- a/tools/build.Dockerfile +++ b/tools/build.Dockerfile @@ -71,11 +71,6 @@ RUN git clone https://github.com/madler/zlib.git zlib-aarch64 \ && make \ && cp libz.a /usr/lib/aarch64-linux-gnu/ -# build libaio for aarch64 (for fio) -RUN git clone --depth 1 --single-branch --branch libaio-0.3.113 https://pagure.io/libaio libaio-aarch64 \ -&& cd libaio-aarch64 \ -&& CC=aarch64-linux-gnu-gcc make - # Build tools RUN mkdir workdir ADD . /workdir From 610a63bbf4a2852bdddc0bfd4132500a3aa7b15a Mon Sep 17 00:00:00 2001 From: "Harper, Jason M" Date: Fri, 2 Jan 2026 17:00:17 -0800 Subject: [PATCH 4/4] Add libaio-aarch64 dependency to fio-aarch64 build process Signed-off-by: Harper, Jason M --- tools/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/Makefile b/tools/Makefile index 46a9b130..f7b46bd0 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -199,8 +199,9 @@ else endif cd libaio-aarch64 && CC=aarch64-linux-gnu-gcc make -j$(NPROC) -fio-aarch64: fio-repo +fio-aarch64: fio-repo libaio-aarch64 ifeq ("$(wildcard fio-aarch64/config.log)","") + @test -d libaio-aarch64/src || (echo "Error: libaio-aarch64/src directory not found" && exit 1) cp -r fio-repo fio-aarch64 cd fio-aarch64 && ./configure --build-static --disable-native --cc=aarch64-linux-gnu-gcc --extra-cflags="-I../libaio-aarch64/src" --extra-ldflags="-L../libaio-aarch64/src" cd fio-aarch64 && make -j$(NPROC)