From b3c2a6f09e70ed7787cbe4f99ff8f9c395af314c Mon Sep 17 00:00:00 2001 From: Vladislav Dronov Date: Tue, 27 Jan 2026 17:53:11 +0100 Subject: [PATCH] Update to qat-zstd-plugin 1.0.0 @ 1e8b930c NUMA node aware mem allocations and other Code optimizations Bug Fixes and Static analysis Fixes (OpenScanhub and Latest Coverity) Support ZSTD v1.5.7 and README refactor Spec file updates for RPM Packaging [skip changelog] Resolves: RHEL-72903 Signed-off-by: Vladislav Dronov --- gating.yaml | 6 ------ lib-version.patch | 46 ------------------------------------------ qat-zstd-plugin.spec | 12 ++++++----- rh-makefile.patch | 16 +++++++++------ sources | 2 +- test.patch | 48 ++++++++++++++++++++++++++++---------------- 6 files changed, 49 insertions(+), 81 deletions(-) delete mode 100644 gating.yaml delete mode 100644 lib-version.patch diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index 4ca9235..0000000 --- a/gating.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- !Policy -product_versions: - - rhel-10 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/lib-version.patch b/lib-version.patch deleted file mode 100644 index 2cb58df..0000000 --- a/lib-version.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/src/Makefile 2024-10-09 18:14:19.453675299 +0300 -+++ b/src/Makefile 2024-10-09 18:25:13.601675269 +0300 -@@ -79,18 +79,27 @@ - QATFLAGS += -O3 - endif - -+VERSION_MAJOR=0 -+VERSION_MINOR=2 -+VERSION_PATCH=0 -+VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) -+ - qatseqprod.o: qatseqprod.c - $(CC) -c $(CFLAGS) $(QATFLAGS) $(DEBUGFLAGS) $^ -o $@ - - lib: qatseqprod.o - $(AR) rc libqatseqprod.a $^ -- $(CC) -shared $^ $(LDFLAGS) -o libqatseqprod.so -+ $(CC) -shared $^ $(LDFLAGS) -Wl,-soname,libqatseqprod.so.$(VERSION_MAJOR) -o libqatseqprod.so.$(VERSION) -+ ln -sf libqatseqprod.so.$(VERSION) libqatseqprod.so.$(VERSION_MAJOR) -+ ln -sf libqatseqprod.so.$(VERSION_MAJOR) libqatseqprod.so - - .PHONY: install - install: lib - [ -e $(DESTDIR)$(LIBDIR) ] || $(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/ - [ -e $(DESTDIR)$(INCLUDEDIR) ] || $(INSTALL) -d -m 755 $(DESTDIR)$(INCLUDEDIR)/ -- $(INSTALL_PROGRAM) libqatseqprod.so $(DESTDIR)$(LIBDIR) -+ $(INSTALL_PROGRAM) libqatseqprod.so.$(VERSION) $(DESTDIR)$(LIBDIR) -+ ln -sf libqatseqprod.so.$(VERSION) $(DESTDIR)$(LIBDIR)/libqatseqprod.so.$(VERSION_MAJOR) -+ ln -sf libqatseqprod.so.$(VERSION_MAJOR) $(DESTDIR)$(LIBDIR)/libqatseqprod.so - $(INSTALL_DATA) libqatseqprod.a $(DESTDIR)$(LIBDIR) - $(INSTALL_DATA) qatseqprod.h $(DESTDIR)$(INCLUDEDIR) - @echo qatseqprod library successfully installed -@@ -98,10 +107,12 @@ - .PHONY: uninstall - uninstall: - $(RM) $(LIBDIR)/libqatseqprod.a -+ $(RM) $(LIBDIR)/libqatseqprod.so.$(VERSION) -+ $(RM) $(LIBDIR)/libqatseqprod.so.$(VERSION_MAJOR) - $(RM) $(LIBDIR)/libqatseqprod.so - $(RM) $(INCLUDEDIR)/qatseqprod.h - @echo qatseqprod library successfully uninstalled - - clean: - $(RM) *.o -- $(RM) libqatseqprod.a libqatseqprod.so -+ $(RM) libqatseqprod.a libqatseqprod.so libqatseqprod.so.$(VERSION) libqatseqprod.so.$(VERSION_MAJOR) diff --git a/qat-zstd-plugin.spec b/qat-zstd-plugin.spec index 6f7d088..14173e0 100644 --- a/qat-zstd-plugin.spec +++ b/qat-zstd-plugin.spec @@ -1,5 +1,7 @@ +# SPDX-License-Identifier: MIT + Name: qat-zstd-plugin -Version: 0.2.0 +Version: 1.0.0 Release: %autorelease Summary: Intel QuickAssist Technology ZSTD Plugin @@ -7,14 +9,14 @@ License: BSD-3-Clause URL: https://github.com/intel/QAT-ZSTD-Plugin Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz -Patch0: lib-version.patch -Patch1: test.patch -Patch2: rh-makefile.patch +Patch0: test.patch +Patch1: rh-makefile.patch BuildRequires: automake BuildRequires: gcc BuildRequires: libzstd-devel BuildRequires: qatlib-devel +BuildRequires: numactl-devel # Upstream only supports x86_64 ExclusiveArch: x86_64 @@ -59,7 +61,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./test/test README.md %files %license LICENSE -%{_libdir}/libqatseqprod.so.0 +%{_libdir}/libqatseqprod.so.1 %{_libdir}/libqatseqprod.so.%{version} %files devel diff --git a/rh-makefile.patch b/rh-makefile.patch index e5ddd6b..1856c9e 100644 --- a/rh-makefile.patch +++ b/rh-makefile.patch @@ -1,16 +1,20 @@ --- a/src/Makefile 2024-10-30 22:20:03.296178391 +0100 +++ b/src/Makefile 2024-10-30 22:21:43.915301707 +0100 -@@ -52,11 +52,11 @@ ifneq ($(ICP_ROOT), ) +@@ -53,7 +53,7 @@ ifneq ($(ICP_ROOT), ) -I$(ICP_ROOT)/quickassist/include/dc \ -I$(ICP_ROOT)/quickassist/lookaside/access_layer/include \ -I$(ICP_ROOT)/quickassist/utilities/libusdm_drv - LDFLAGS = -Wl,-rpath,$(ICP_ROOT)/build -L$(ICP_ROOT)/build -lqat_s \ + LDFLAGS += -Wl,-rpath,$(ICP_ROOT)/build -L$(ICP_ROOT)/build -lqat_s \ - -lusdm_drv_s + -lusdm_drv_s -lnuma else - QATFLAGS = -DINTREE -- LDFLAGS = -lqat -lusdm -+ LDFLAGS += -lqat -lusdm + # In-tree - look for headers in standard locations +@@ -63,7 +63,7 @@ else + else + $(error QAT headers not found in Standard path, Please install QATLib development package or set ICP_ROOT for out-of-tree driver) + endif +- LDFLAGS = -lqat -lusdm -lnuma ++ LDFLAGS += -lqat -lusdm -lnuma endif ifdef ZSTDLIB @@ -24,4 +28,4 @@ +LDFLAGS += -L$(LIB) -I$(LIB) ifneq ($(ICP_ROOT), ) - LDFLAGS += -lqat_s -lusdm_drv_s -Wl,-rpath,$(ICP_ROOT)/build -L$(ICP_ROOT)/build + LDFLAGS += -lqat_s -lusdm_drv_s -lnuma -Wl,-rpath,$(ICP_ROOT)/build -L$(ICP_ROOT)/build diff --git a/sources b/sources index 99573be..f6a3cbf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qat-zstd-plugin-0.2.0.tar.gz) = 9039a346d85bed9a84326a6e664de8d0203b92b167468fd5d7d67ff96be08b3edaba92e28a900ba53440eaed66b3621db72c6a3d1200b74b0893b7ba8a6bf21a +SHA512 (qat-zstd-plugin-1.0.0.tar.gz) = 6ee92f0631d4b66f250db7b55a84f2c6fe37ca70d72ad30c6d7559034ac74f24511963ebd877dfd323e9f66bccf3f311ba215167cb60338f4181cf060fb81286 diff --git a/test.patch b/test.patch index fd6cea5..f48f38e 100644 --- a/test.patch +++ b/test.patch @@ -1,6 +1,6 @@ --- a/test/Makefile +++ b/test/Makefile -@@ -34,24 +34,12 @@ +@@ -34,42 +34,27 @@ # ####################################################################### LIB = ../src @@ -8,25 +8,46 @@ +LDFLAGS = -L$(LIB) -I$(LIB) ifneq ($(ICP_ROOT), ) - LDFLAGS += -lqat_s -lusdm_drv_s -Wl,-rpath,$(ICP_ROOT)/build -L$(ICP_ROOT)/build + LDFLAGS += -lqat_s -lusdm_drv_s -lnuma -Wl,-rpath,$(ICP_ROOT)/build -L$(ICP_ROOT)/build else -- LDFLAGS += -lqat -lusdm +- LDFLAGS += -lqat -lusdm -lnuma -endif - -ifdef ZSTDLIB +-CFLAGS += -I$(ZSTDLIB) -LDFLAGS += $(ZSTDLIB)/libzstd.a -else --ZSTDLIB := $(shell find /usr /lib /local -name 'libzstd.a' 2>/dev/null | head -n 1) --ZSTDLIB ?= /usr/local/lib/libzstd.a --ifneq ("$(wildcard $(ZSTDLIB))","") -- LDFLAGS += $(ZSTDLIB) --else -- $(error libzstd.a not found, please install libzstd or specify the path manually) --endif +-ZSTDLIB := $(shell find /usr /lib /local -name 'libzstd.a' 2>/dev/null | head -n 1| xargs dirname) +-LDFLAGS += $(ZSTDLIB)/libzstd.a + LDFLAGS += -lzstd -lqatseqprod -lqat -lusdm endif default: test benchmark + + all: test benchmark + +-check_zstdlib: +- @echo checking zstd static libaray '$(ZSTDLIB)/libzstd.a' +- @if [ ! -e $(ZSTDLIB)/libzstd.a ]; then \ +- echo libzstd.a is not found, please install libzstd or specify the path manually; \ +- exit 1; \ +- fi +- +-test: test.c check_zstdlib ++test: test.c + $(Q)$(MAKE) -C $(LIB) + $(CC) $< $(CFLAGS) $(LDFLAGS) -o $@ + +-benchmark: benchmark.c check_zstdlib ++benchmark: benchmark.c + $(Q)$(MAKE) -C $(LIB) + $(CC) $(CFLAGS) $< $(LDFLAGS) -o $@ -lpthread + + clean: + $(Q)$(MAKE) -C $(LIB) $@ + $(RM) test benchmark +-.PHONY: clean check_zstdlib ++.PHONY: clean --- a/test/test.c +++ b/test/test.c @@ -44,9 +44,6 @@ @@ -39,10 +60,3 @@ #include "zstd.h" #include "zstd_errors.h" -@@ -143,4 +140,4 @@ - free(dstBuffer); - free(decompBuffer); - return 0; --} -\ No newline at end of file -+}