mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-10-24 08:55:00 +03:00
While portions of the code needed to support z_compress_level() and z_uncompress() where in place. In reality the current implementation was non-functional, it just was compilable. The critical missing component was to setup a workspace for the compress/uncompress stream structures to use. A kmem_cache was added for the workspace area because we require a large chunk of memory. This avoids to need to continually alloc/free this memory and vmap() the pages which is very slow. Several objects will reside in the per-cpu kmem_cache making them quick to acquire and release. A further optimization would be to adjust the implementation to additional ensure the memory is local to the cpu. Currently that may not be the case. |
||
|---|---|---|
| .. | ||
| fs | ||
| linux | ||
| rpc | ||
| sharefs | ||
| sys | ||
| util | ||
| vm | ||
| .gitignore | ||
| Makefile.am | ||
| Makefile.in | ||
| spl-ctl.h | ||
| spl-debug.h | ||
| spl-device.h | ||
| spl-trace.h | ||
| splat-ctl.h | ||
| strings.h | ||
| unistd.h | ||