lib/zlib: add s390 hardware support for kernel zlib_deflate
Patch series "S390 hardware support for kernel zlib", v3. With IBM z15 mainframe the new DFLTCC instruction is available. It implements deflate algorithm in hardware (Nest Acceleration Unit - NXU) with estimated compression and decompression performance orders of magnitude faster than the current zlib. This patchset adds s390 hardware compression support to kernel zlib. The code is based on the userspace zlib implementation: https://github.com/madler/zlib/pull/410 The coding style is also preserved for future maintainability. There is only limited set of userspace zlib functions represented in kernel. Apart from that, all the memory allocation should be performed in advance. Thus, the workarea structures are extended with the parameter lists required for the DEFLATE CONVENTION CALL instruction. Since kernel zlib itself does not support gzip headers, only Adler-32 checksum is processed (also can be produced by DFLTCC facility). Like it w...
Showing
- lib/Kconfig 7 additions, 0 deletionslib/Kconfig
- lib/Makefile 1 addition, 0 deletionslib/Makefile
- lib/zlib_deflate/deflate.c 41 additions, 38 deletionslib/zlib_deflate/deflate.c
- lib/zlib_deflate/deftree.c 0 additions, 54 deletionslib/zlib_deflate/deftree.c
- lib/zlib_deflate/defutil.h 124 additions, 10 deletionslib/zlib_deflate/defutil.h
- lib/zlib_dfltcc/Makefile 11 additions, 0 deletionslib/zlib_dfltcc/Makefile
- lib/zlib_dfltcc/dfltcc.c 52 additions, 0 deletionslib/zlib_dfltcc/dfltcc.c
- lib/zlib_dfltcc/dfltcc.h 115 additions, 0 deletionslib/zlib_dfltcc/dfltcc.h
- lib/zlib_dfltcc/dfltcc_deflate.c 273 additions, 0 deletionslib/zlib_dfltcc/dfltcc_deflate.c
- lib/zlib_dfltcc/dfltcc_syms.c 17 additions, 0 deletionslib/zlib_dfltcc/dfltcc_syms.c
- lib/zlib_dfltcc/dfltcc_util.h 110 additions, 0 deletionslib/zlib_dfltcc/dfltcc_util.h
lib/zlib_dfltcc/Makefile
0 → 100644
lib/zlib_dfltcc/dfltcc.c
0 → 100644
lib/zlib_dfltcc/dfltcc.h
0 → 100644
lib/zlib_dfltcc/dfltcc_deflate.c
0 → 100644
lib/zlib_dfltcc/dfltcc_syms.c
0 → 100644
lib/zlib_dfltcc/dfltcc_util.h
0 → 100644
Please register or sign in to comment