Compare commits

...

1 Commits

Author SHA1 Message Date
Vladislav Dronov
b3c2a6f09e 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 <vdronov@redhat.com>
2026-01-27 17:53:11 +01:00
6 changed files with 49 additions and 81 deletions

View File

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -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)

View File

@ -1,5 +1,7 @@
# SPDX-License-Identifier: MIT
Name: qat-zstd-plugin Name: qat-zstd-plugin
Version: 0.2.0 Version: 1.0.0
Release: %autorelease Release: %autorelease
Summary: Intel QuickAssist Technology ZSTD Plugin Summary: Intel QuickAssist Technology ZSTD Plugin
@ -7,14 +9,14 @@ License: BSD-3-Clause
URL: https://github.com/intel/QAT-ZSTD-Plugin URL: https://github.com/intel/QAT-ZSTD-Plugin
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Patch0: lib-version.patch Patch0: test.patch
Patch1: test.patch Patch1: rh-makefile.patch
Patch2: rh-makefile.patch
BuildRequires: automake BuildRequires: automake
BuildRequires: gcc BuildRequires: gcc
BuildRequires: libzstd-devel BuildRequires: libzstd-devel
BuildRequires: qatlib-devel BuildRequires: qatlib-devel
BuildRequires: numactl-devel
# Upstream only supports x86_64 # Upstream only supports x86_64
ExclusiveArch: x86_64 ExclusiveArch: x86_64
@ -59,7 +61,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./test/test README.md
%files %files
%license LICENSE %license LICENSE
%{_libdir}/libqatseqprod.so.0 %{_libdir}/libqatseqprod.so.1
%{_libdir}/libqatseqprod.so.%{version} %{_libdir}/libqatseqprod.so.%{version}
%files devel %files devel

View File

@ -1,16 +1,20 @@
--- a/src/Makefile 2024-10-30 22:20:03.296178391 +0100 --- a/src/Makefile 2024-10-30 22:20:03.296178391 +0100
+++ b/src/Makefile 2024-10-30 22:21:43.915301707 +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/include/dc \
-I$(ICP_ROOT)/quickassist/lookaside/access_layer/include \ -I$(ICP_ROOT)/quickassist/lookaside/access_layer/include \
-I$(ICP_ROOT)/quickassist/utilities/libusdm_drv -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 \
+ 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 else
QATFLAGS = -DINTREE # In-tree - look for headers in standard locations
- LDFLAGS = -lqat -lusdm @@ -63,7 +63,7 @@ else
+ LDFLAGS += -lqat -lusdm 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 endif
ifdef ZSTDLIB ifdef ZSTDLIB
@ -24,4 +28,4 @@
+LDFLAGS += -L$(LIB) -I$(LIB) +LDFLAGS += -L$(LIB) -I$(LIB)
ifneq ($(ICP_ROOT), ) 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

View File

@ -1 +1 @@
SHA512 (qat-zstd-plugin-0.2.0.tar.gz) = 9039a346d85bed9a84326a6e664de8d0203b92b167468fd5d7d67ff96be08b3edaba92e28a900ba53440eaed66b3621db72c6a3d1200b74b0893b7ba8a6bf21a SHA512 (qat-zstd-plugin-1.0.0.tar.gz) = 6ee92f0631d4b66f250db7b55a84f2c6fe37ca70d72ad30c6d7559034ac74f24511963ebd877dfd323e9f66bccf3f311ba215167cb60338f4181cf060fb81286

View File

@ -1,6 +1,6 @@
--- a/test/Makefile --- a/test/Makefile
+++ b/test/Makefile +++ b/test/Makefile
@@ -34,24 +34,12 @@ @@ -34,42 +34,27 @@
# ####################################################################### # #######################################################################
LIB = ../src LIB = ../src
@ -8,25 +8,46 @@
+LDFLAGS = -L$(LIB) -I$(LIB) +LDFLAGS = -L$(LIB) -I$(LIB)
ifneq ($(ICP_ROOT), ) 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 else
- LDFLAGS += -lqat -lusdm - LDFLAGS += -lqat -lusdm -lnuma
-endif -endif
- -
-ifdef ZSTDLIB -ifdef ZSTDLIB
-CFLAGS += -I$(ZSTDLIB)
-LDFLAGS += $(ZSTDLIB)/libzstd.a -LDFLAGS += $(ZSTDLIB)/libzstd.a
-else -else
-ZSTDLIB := $(shell find /usr /lib /local -name 'libzstd.a' 2>/dev/null | head -n 1) -ZSTDLIB := $(shell find /usr /lib /local -name 'libzstd.a' 2>/dev/null | head -n 1| xargs dirname)
-ZSTDLIB ?= /usr/local/lib/libzstd.a -LDFLAGS += $(ZSTDLIB)/libzstd.a
-ifneq ("$(wildcard $(ZSTDLIB))","")
- LDFLAGS += $(ZSTDLIB)
-else
- $(error libzstd.a not found, please install libzstd or specify the path manually)
-endif
+ LDFLAGS += -lzstd -lqatseqprod -lqat -lusdm + LDFLAGS += -lzstd -lqatseqprod -lqat -lusdm
endif endif
default: test benchmark 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 --- a/test/test.c
+++ b/test/test.c +++ b/test/test.c
@@ -44,9 +44,6 @@ @@ -44,9 +44,6 @@
@ -39,10 +60,3 @@
#include "zstd.h" #include "zstd.h"
#include "zstd_errors.h" #include "zstd_errors.h"
@@ -143,4 +140,4 @@
free(dstBuffer);
free(decompBuffer);
return 0;
-}
\ No newline at end of file
+}