Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

undefined reference to `qaeMemFreeNUMA' #1

Closed
martin-m-wang opened this issue Apr 29, 2018 · 17 comments
Closed

undefined reference to `qaeMemFreeNUMA' #1

martin-m-wang opened this issue Apr 29, 2018 · 17 comments

Comments

@martin-m-wang
Copy link

martin-m-wang commented Apr 29, 2018

Hi,
I've installed the driver For Intel® Xeon® with Intel® C62X Series Chipset and the QuickAssist Technology(QAT) OpenSSL Engine* was able to run successfully. In installing the driver, the contiguous memory driver could not be built due to some error and load the User Space DMA-able Memory (USDM) Component instead.

And installed libelf-dev through

apt-get install libelf-dev

before running ./configure

It seems that qaeMemFreeNUMA and cpaDcCompressData ... could not be found.

root@ubuntu:/opt/QATzip# make all install
make -C /opt/QATzip/src libqatzip.a
make[1]: Entering directory '/opt/QATzip/src'
gcc -Wall -Werror -std=gnu99 -pedantic -O2 -fstack-protector -fPIE -fPIC -D_FORTIFY_SOURCE=2 -m64 -I/opt/QAT/quickassist/include -I/opt/QAT/quickassist/include/dc -I/opt/QAT/quickassist/lookaside/access_layer/include -I/opt/QAT/quickassist/utilities/libusdm_drv -I/opt/QATzip/include -c qatzip.c -o qatzip.o
gcc -Wall -Werror -std=gnu99 -pedantic -O2 -fstack-protector -fPIE -fPIC -D_FORTIFY_SOURCE=2 -m64 -I/opt/QAT/quickassist/include -I/opt/QAT/quickassist/include/dc -I/opt/QAT/quickassist/lookaside/access_layer/include -I/opt/QAT/quickassist/utilities/libusdm_drv -I/opt/QATzip/include -c qatzip_counter.c -o qatzip_counter.o
gcc -Wall -Werror -std=gnu99 -pedantic -O2 -fstack-protector -fPIE -fPIC -D_FORTIFY_SOURCE=2 -m64 -I/opt/QAT/quickassist/include -I/opt/QAT/quickassist/include/dc -I/opt/QAT/quickassist/lookaside/access_layer/include -I/opt/QAT/quickassist/utilities/libusdm_drv -I/opt/QATzip/include -c qatzip_gzip.c -o qatzip_gzip.o
gcc -Wall -Werror -std=gnu99 -pedantic -O2 -fstack-protector -fPIE -fPIC -D_FORTIFY_SOURCE=2 -m64 -I/opt/QAT/quickassist/include -I/opt/QAT/quickassist/include/dc -I/opt/QAT/quickassist/lookaside/access_layer/include -I/opt/QAT/quickassist/utilities/libusdm_drv -I/opt/QATzip/include -c qatzip_sw.c -o qatzip_sw.o
gcc -Wall -Werror -std=gnu99 -pedantic -O2 -fstack-protector -fPIE -fPIC -D_FORTIFY_SOURCE=2 -m64 -I/opt/QAT/quickassist/include -I/opt/QAT/quickassist/include/dc -I/opt/QAT/quickassist/lookaside/access_layer/include -I/opt/QAT/quickassist/utilities/libusdm_drv -I/opt/QATzip/include -c qatzip_mem.c -o qatzip_mem.o
gcc -Wall -Werror -std=gnu99 -pedantic -O2 -fstack-protector -fPIE -fPIC -D_FORTIFY_SOURCE=2 -m64 -I/opt/QAT/quickassist/include -I/opt/QAT/quickassist/include/dc -I/opt/QAT/quickassist/lookaside/access_layer/include -I/opt/QAT/quickassist/utilities/libusdm_drv -I/opt/QATzip/include -c qatzip_utils.c -o qatzip_utils.o
ar rcs libqatzip.a qatzip.o qatzip_counter.o qatzip_gzip.o qatzip_sw.o qatzip_mem.o qatzip_utils.o
make[1]: Leaving directory '/opt/QATzip/src'
make -C /opt/QATzip/src libqatzip.so
make[1]: Entering directory '/opt/QATzip/src'
gcc qatzip.o qatzip_counter.o qatzip_gzip.o qatzip_sw.o qatzip_mem.o qatzip_utils.o -o libqatzip.so -fstack-protector -fPIC -pie -z relro -z now -Wl,-z,noexecstack -L/opt/QAT/build -Wl,-R/opt/QAT/build -shared -Wl,-soname,libqatzip.so -lqat_s -lusdm_drv_s -lz -lpthread -lnuma
make[1]: Leaving directory '/opt/QATzip/src'
make -C /opt/QATzip/utils qzip
make[1]: Entering directory '/opt/QATzip/utils'
gcc -Wall -Werror -std=gnu99 -pedantic -O2 -fstack-protector -fPIE -fPIC -D_FORTIFY_SOURCE=2 -m64 -I/opt/QAT/quickassist/include -I/opt/QAT/quickassist/include/dc -I/opt/QAT/quickassist/lookaside/access_layer/include -I/opt/QAT/quickassist/utilities/libusdm_drv -I/opt/QATzip/include -c qzip.c -o qzip.o
gcc qzip.o -o qzip -fstack-protector -fPIC -pie -z relro -z now -Wl,-z,noexecstack -L/opt/QAT/build -Wl,-R/opt/QAT/build -lqat_s -lusdm_drv_s -lz -lpthread -lnuma /opt/QATzip/src/libqatzip.a
/opt/QATzip/src/libqatzip.a(qatzip.o): In function cleanUpInstMem': qatzip.c:(.text+0x36d): undefined reference to qaeMemFreeNUMA'
qatzip.c:(.text+0x3a6): undefined reference to qaeMemFreeNUMA' qatzip.c:(.text+0x455): undefined reference to qaeMemFreeNUMA'
qatzip.c:(.text+0x4c5): undefined reference to qaeMemFreeNUMA' qatzip.c:(.text+0x4fe): undefined reference to qaeMemFreeNUMA'
/opt/QATzip/src/libqatzip.a(qatzip.o):qatzip.c:(.text+0x595): more undefined references to qaeMemFreeNUMA' follow /opt/QATzip/src/libqatzip.a(qatzip.o): In function doCompressIn':
qatzip.c:(.text+0x82a): undefined reference to cpaDcCompressData' /opt/QATzip/src/libqatzip.a(qatzip.o): In function doCompressOut':
qatzip.c:(.text+0xad0): undefined reference to icp_sal_DcPollInstance' qatzip.c:(.text+0xdfc): undefined reference to crc32_combine'
/opt/QATzip/src/libqatzip.a(qatzip.o): In function doDecompressIn': qatzip.c:(.text+0x1183): undefined reference to cpaDcDecompressData'
/opt/QATzip/src/libqatzip.a(qatzip.o): In function doDecompressOut': qatzip.c:(.text+0x154b): undefined reference to icp_sal_DcPollInstance'
/opt/QATzip/src/libqatzip.a(qatzip.o): In function stopQat.part.3': qatzip.c:(.text+0x186b): undefined reference to cpaDcStopInstance'
qatzip.c:(.text+0x18aa): undefined reference to icp_sal_userStop' /opt/QATzip/src/libqatzip.a(qatzip.o): In function qzInit':
qatzip.c:(.text+0x1a8c): undefined reference to icp_sal_userStartMultiProcess' qatzip.c:(.text+0x1a9c): undefined reference to cpaDcGetNumInstances'
qatzip.c:(.text+0x1bbd): undefined reference to cpaDcGetInstances' qatzip.c:(.text+0x1c1b): undefined reference to cpaDcInstanceGetInfo2'
qatzip.c:(.text+0x1c37): undefined reference to cpaDcQueryCapabilities' /opt/QATzip/src/libqatzip.a(qatzip.o): In function qzSetupHW':
qatzip.c:(.text+0x1fbd): undefined reference to cpaDcBufferListGetMetaSize' qatzip.c:(.text+0x2010): undefined reference to cpaDcGetSessionSize'
qatzip.c:(.text+0x202f): undefined reference to qaeMemAllocNUMA' qatzip.c:(.text+0x2064): undefined reference to cpaDcInitSession'
qatzip.c:(.text+0x2097): undefined reference to cpaDcGetNumIntermediateBuffers' qatzip.c:(.text+0x20a7): undefined reference to numa_set_preferred'
qatzip.c:(.text+0x212a): undefined reference to qaeMemAllocNUMA' qatzip.c:(.text+0x215f): undefined reference to qaeMemAllocNUMA'
qatzip.c:(.text+0x2196): undefined reference to qaeMemAllocNUMA' qatzip.c:(.text+0x21f9): undefined reference to qaeMemAllocNUMA'
qatzip.c:(.text+0x2329): undefined reference to qaeMemAllocNUMA' /opt/QATzip/src/libqatzip.a(qatzip.o):qatzip.c:(.text+0x2363): more undefined references to qaeMemAllocNUMA' follow
/opt/QATzip/src/libqatzip.a(qatzip.o): In function qzSetupHW': qatzip.c:(.text+0x25ea): undefined reference to qaeVirtToPhysNUMA'
qatzip.c:(.text+0x25f3): undefined reference to cpaDcSetAddressTranslation' qatzip.c:(.text+0x261d): undefined reference to cpaDcStartInstance'
/opt/QATzip/src/libqatzip.a(qatzip.o): In function removeSession': qatzip.c:(.text+0x271a): undefined reference to cpaDcRemoveSession'
qatzip.c:(.text+0x273b): undefined reference to qaeMemFreeNUMA' /opt/QATzip/src/libqatzip.a(qatzip_sw.o): In function qzSWCompress':
qatzip_sw.c:(.text+0x19d): undefined reference to deflateSetHeader' qatzip_sw.c:(.text+0x1f1): undefined reference to deflate'
qatzip_sw.c:(.text+0x275): undefined reference to deflateEnd' qatzip_sw.c:(.text+0x2a6): undefined reference to deflateInit2_'
/opt/QATzip/src/libqatzip.a(qatzip_sw.o): In function qzSWDecompress': qatzip_sw.c:(.text+0x348): undefined reference to inflateInit2_'
qatzip_sw.c:(.text+0x35b): undefined reference to inflateEnd' qatzip_sw.c:(.text+0x381): undefined reference to inflate'
/opt/QATzip/src/libqatzip.a(qatzip_mem.o): In function qzMalloc': qatzip_mem.c:(.text+0xe4): undefined reference to qaeMemAllocNUMA'
/opt/QATzip/src/libqatzip.a(qatzip_mem.o): In function qzFree': qatzip_mem.c:(.text+0x216): undefined reference to qaeMemFreeNUMA'
collect2: error: ld returned 1 exit status
Makefile:40: recipe for target 'qzip' failed
make[1]: *** [qzip] Error 1
make[1]: Leaving directory '/opt/QATzip/utils'
Makefile:92: recipe for target 'qzip' failed
make: *** [qzip] Error 2

@daweiq
Copy link
Contributor

daweiq commented May 2, 2018

Hi Martin,

The symbol qaeMemFreeNUMA or cpaDcCompressData are defined in QuickAssit driver and qzip or libqatzip.a just link to it.

The log showing no symbol find in your driver library .
You may need to check the driver compile log or the QuickAssist driver link path.

BR,
David Qian

@martin-m-wang
Copy link
Author

martin-m-wang commented May 2, 2018

Hi David,
I've re-installed the driver and gathered the log file when running make and make install.
install.log
make.log
and did not find any string matching "qaeMemFreeNUMA"
I've also searched the "qaeMemFreeNUMA" in the root and sub-directories of $ICP_ROOT and no results returned.

root@ubuntu:/opt/QAT/QATzip# echo $ICP_ROOT
/opt/QAT

which seems that the "QuickAssist driver link path" is good.
I'm using the "QAT1.7 PRODUCTS: INTEL® C62X CHIPSET" and downloaded and installed "qat1.7.l.4.1.0-00022.tar.gz". I'm not sure if this driver version change the filename or file structure which made the "qaeMemFreeNUMA" not found.

Thank you for your support.

Best Regards,
Martin Wang

@daweiq
Copy link
Contributor

daweiq commented May 3, 2018

Hi Martin,

The log seems good, no error/fail shows.
One minor issue is, we typically use installer.sh instead of configure and make command to build and install the QAT driver.
You may have a try on this, then recompile the QATzip.
If the error still happens, you may refer to the following QAT web or
contact the Intel AE for further help.
https://01.org/zh/intel-quickassist-technology

BR,
David Qian

@martin-m-wang
Copy link
Author

Hi David,
I've rebuilt and installed the driver using the installer.sh and then recompile QATzip, same error.
I'll give the older kernel a try or contact intel for help.

Thanks,
Martin Wang

@martin-m-wang
Copy link
Author

Same error on kernel ubuntu 4.4.0-116-generic

@daweiq
Copy link
Contributor

daweiq commented May 16, 2018

Hi Martin,

The symbol qaeMemFreeNUMA is defined in libusdm_drv_s.so.
Please ensure the QAT driver has compile libusdm_drv with qaeMemFreeNUMA correctly.

Here's the dynamic symbol list of my USDM library:
[root@hdp-nct-dn1 QATzip-master]# objdump -T $ICP_ROOT/build/libusdm_drv_s.so
DYNAMIC SYMBOL TABLE:
0000000000000b10 l d .text 0000000000000000 .text
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 free
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 __errno_location
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 unlink
0000000000003530 g DF .text 0000000000000013 Base qaeVirtToPhysNUMA
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 getpid
00000000000019c0 g DF .text 0000000000000885 Base qaeMemDestroy
00000000002060e0 g D .data 0000000000000000 Base _edata
0000000000001810 g DF .text 00000000000001aa Base qaeMemInit
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 memset
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 ioctl
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 close
0000000000003550 g DF .text 0000000000000163 Base qaeAtFork
00000000000017d0 g DF .text 000000000000003b Base qaeMemFree
0000000000002250 g DF .text 0000000000000b9d Base qaeMemAllocNUMA
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 read
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 mkstemp64
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 calloc
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 mmap64
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 pthread_mutex_unlock
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 malloc
0000000000217170 g D .bss 0000000000000000 Base _end
00000000002060e0 g D .bss 0000000000000000 Base __bss_start
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 munmap
0000000000002df0 g DF .text 0000000000000739 Base qaeMemFreeNUMA
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 madvise
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 open64
00000000000017c0 g DF .text 000000000000000a Base qaeMemAlloc
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 vfprintf
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 getpagesize
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 lseek64
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 strerror
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 pthread_mutex_lock
0000000000000000 DO UND 0000000000000000 GLIBC_2.2.5 stderr

If it does exist, please export the folder where libusdm_drv_s.so located as environment variant "ICP_ROOT", reconfigure the QATzip and recompile.

If not, it is driver compiling issue please contact with Intel AE for further support.

Thank you,
David Qian

@martin-m-wang
Copy link
Author

martin-m-wang commented May 16, 2018

Thank you David,
The qaeMemFreeNUMA is present.

root@ubuntu:/opt/QAT/build# objdump -T libusdm_drv_s.so

libusdm_drv_s.so: file format elf64-x86-64

DYNAMIC SYMBOL TABLE:
0000000000000b20 l d .text 0000000000000000 .text
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 free
0000000000000000 DF UND 0000000000000000 GLIBC_2.3.4 __vfprintf_chk
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 __errno_location
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 unlink
0000000000003470 g DF .text 0000000000000010 Base qaeVirtToPhysNUMA
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 getpid
0000000000001980 g DF .text 0000000000000897 Base qaeMemDestroy
0000000000205258 g D .data 0000000000000000 Base _edata
00000000000017e0 g DF .text 0000000000000199 Base qaeMemInit
0000000000000000 DF UND 0000000000000000 GLIBC_2.4 __stack_chk_fail
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 memset
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 ioctl
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 close
0000000000003480 g DF .text 000000000000017e Base qaeAtFork
0000000000001790 g DF .text 0000000000000042 Base qaeMemFree
0000000000002220 g DF .text 0000000000000b58 Base qaeMemAllocNUMA
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 read
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 mkstemp64
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 calloc
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 mmap64
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 pthread_mutex_unlock
00000000002162d0 g D .bss 0000000000000000 Base _end
0000000000205258 g D .bss 0000000000000000 Base __bss_start
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 munmap
0000000000002d80 g DF .text 00000000000006e5 Base qaeMemFreeNUMA
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 madvise
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 open64
0000000000001780 g DF .text 000000000000000a Base qaeMemAlloc
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 getpagesize
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 lseek64
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 strerror
0000000000000000 DF UND 0000000000000000 GLIBC_2.2.5 pthread_mutex_lock
0000000000000000 DO UND 0000000000000000 GLIBC_2.2.5 stderr

If I change "ICP_ROOT" directly, it will lead to other check failure in configure file when ./configure. I've copied the libusdm_drv_s.so from "ICP_ROOT"/build to "ICP_ROOT", same error.
Or do we have a chance to change file libqatzip.a?

Best Regards,
Martin Wang

@martin-m-wang
Copy link
Author

Hi David,
I've to add that using the exact Linux distribution you use
3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
The QATzip could be installed with no error.

@daweiq
Copy link
Contributor

daweiq commented May 16, 2018

Good, what's Linux distribution you saw compile error?
It might be a version which QAT driver does not support.

@martin-m-wang
Copy link
Author

QATzip compile errror: Ubuntu 16.04, kernel 4.16.1.
QATzip compile good: CentOS 7, kernel 3.10.0-327.el7.x86_64

However, on 4.16.1 kernel the QAT_engine based openssl runs with no error, which also uses the QAT driver.

@martin-m-wang
Copy link
Author

martin-m-wang commented May 16, 2018

Hi David, In using the qzip:
qzip -k ./file
where file is 1GB file to be compressed.

it will report error:
ADF_UIO_PROXY err: icp_adf_userProcessToStart: Error reading /dev/qat_dev_processes file [error] icp_sal_userStart() - : icp_adf_userProcessToStart failed

However,
[root@localhost ~]# ll /dev/qa*
crw-rw----. 1 root root 244, 0 Jun 15 00:54 /dev/qat_adf_ctl
crw-rw----. 1 root root 243, 0 Jun 15 00:54 /dev/qat_dev_processes
Is that caused by the by wrong config file under /etc or something else?

Thank you for your support.

Best Regards,
Martin Wang

@LazarosLazaridis
Copy link

LazarosLazaridis commented May 16, 2018

I have exactly the same problem as @martin-m-wang with Intel Atom® C3000 Processor

QATzip compile errror: Ubuntu 16.04, kernel 4.16.1.

We have the same compilation error and if we use the shared library libqatzip.so for linking qzip, compilations is successful but using the qzip fails with error:

ADF_UIO_PROXY err: icp_adf_userProcessToStart: Error reading /dev/qat_dev_processes file [error] icp_sal_userStart() - : icp_adf_userProcessToStart failed

In addition, I would like to ask which config file is the proper one to use for Intel Atom c3xxx
as I can only see c6xxx and dh895xcc

Best Regards

@daweiq
Copy link
Contributor

daweiq commented May 17, 2018

@martin-m-wang
It seems like a config file error.
Please make sure to enable QATZIP section in the QAT configure file
and enable at least one instance for compression.

This is how it looks like in QAT config file:

[root@hdp-nct-dn1 utils]# cat /etc/c6xx_dev0.conf
...
##############################################
# User Process Instance Section
##############################################
**[QATZIP]**
NumberCyInstances = 0
**NumberDcInstances = 1**
NumProcesses = 32
LimitDevAccess = 1

# Data Compression - User instance #0
Dc0Name = "Dc0"
Dc0IsPolled = 1
# List of core affinities
Dc0CoreAffinity = 1

@daweiq
Copy link
Contributor

daweiq commented May 17, 2018

@LazarosLazaridis Hi,

It should be the same compilation error.
If possible please move to CentOS 7.x.

Best regards,
David Qian

@martin-m-wang
Copy link
Author

martin-m-wang commented May 17, 2018

Based on @LazarosLazaridis question and the conf file example @daweiq provided, I copy the conf files generated by QATzip to /etc to replace the original generated by QAT_driver, no more errors.

Now I'm running performance test

[root@localhost shm]# qzip -k bigfile -L 1
Reading input file bigfile (536870912 Bytes)
Compressing...
Reading input file bigfile (536870912 Bytes)
Compressing...
Reading input file bigfile (536870912 Bytes)
Compressing...
Reading input file bigfile (536870912 Bytes)
Compressing...
Reading input file bigfile (536870912 Bytes)
Compressing...
Reading input file bigfile (536870912 Bytes)
Compressing...
Reading input file bigfile (536870912 Bytes)
Compressing...
Reading input file bigfile (436207616 Bytes)
Compressing...
Time taken:     2203.341 ms
Throughput:    15228.887 Mbit/s
Space Savings:    -0.064 %
Compression ratio: 0.999 : 1

the conf file is from "/QATzip/config_file/c6xx/multiple_process_opt", the Throughput seems to be not as high as expected. Is there any modification that we could make to maximize the throughput?

Thank you for your great support!

Best Regards,
Martin Wang

@LazarosLazaridis
Copy link

LazarosLazaridis commented May 17, 2018

What I did was.

I moved to CentOS 7.
Then I had no compilation errors but still I had the below error occuring

ADF_UIO_PROXY err: icp_adf_userProcessToStart: Error reading /dev/qat_dev_processes file [error] icp_sal_userStart() - : icp_adf_userProcessToStart failed

To move past that I copied the conf files from /QATzip/config_file/c6xx/multiple_process_opt to /etc but as my original conf file was c3xxx_dev0.conf I renamed the generated c6xx_dev0.conf to c3xxx_dev0.conf.

The result was that now qzip is running without throwing errors.
Running the run_test_quick.sh returns the following results:

format_option=qz:32768/qz:65536/qz:131072/qz:65536/qz:32768/qz:262144
Reading input file test.tmp (70 Bytes)
Compressing...
Time taken:        0.366 ms
Throughput:        1.530 Mbit/s
Space Savings:    20.000 %
Compression ratio: 1.250 : 1
Reading input file test.tmp.gz (56 Bytes)
Decompressing...
Time taken:        0.073 ms
Throughput:        7.671 Mbit/s
QAT file compression and decompression OK :)

Have a great day,
Lazaros

@daweiq
Copy link
Contributor

daweiq commented May 18, 2018

@LazarosLazaridis

Hi,

First, please move to CentOS 7.X 1st to fix the compilation error.

For your platform "Intel Atom® C3000 Processor", you need to use the device configure file: /etc/c3xxx_dev0.conf which should be installed when you install the QAT driver.
Then add the following section to the configure file:


##############################################
# User Process Instance Section
##############################################
[QATZIP]
NumberCyInstances = 0
NumberDcInstances = 1
NumProcesses = 32
LimitDevAccess = 1

# Data Compression - User instance #0
Dc0Name = "Dc0"
Dc0IsPolled = 1
# List of core affinities
Dc0CoreAffinity = 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants