mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-11-14 09:08:48 +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. |
||
|---|---|---|
| .. | ||
| spl | ||
| splat | ||
| .gitignore | ||
| Makefile.in | ||