This patchset introduces new compression APIs. This work is started to support crypto compression in zram [1]. I will restart that work after this patchset is mereged. Major point of new APIs is that it is now stateless. Instead of legacy compression API, tfm objects doesn't embedded any context so we can de/compress concurrently with one tfm object. Instead, this de/compression context is coupled with the request. This architecture change will make APIs more flexible and we can naturally use asynchronous APIs as front-end of synchronous compression algorithm. Moreover, thanks to this change, we can decompress without context buffer if algorithm supports it. In this case, we can achieve maximum parallelism without memory overhead caused by context buffer. Please let know if there is a problem. Thanks. [1]: https://lkml.org/lkml/2015/10/14/83 Joonsoo Kim (9): crypto/compress: remove unused pcomp interface crypto: add algorithm type specific flag, CRYPTO_ALG_PRIVATE crypto/compress: introduce sychronuous compression API crypto/lzo: support new compression APIs crypto/lz4: support new compression APIs crypto/lz4hc: support new compression APIs crypto/842: support new compression APIs crypto/deflate: support new compression APIs crypto/testmgr: add new compression APIs test Weigang Li (1): crypto/compress: add asynchronous compression support crypto/842.c | 85 +++++++- crypto/Kconfig | 23 +- crypto/Makefile | 4 +- crypto/acompress.c | 164 ++++++++++++++ crypto/deflate.c | 110 +++++++++- crypto/lz4.c | 91 +++++++- crypto/lz4hc.c | 91 +++++++- crypto/lzo.c | 95 ++++++-- crypto/pcompress.c | 115 ---------- crypto/scompress.c | 284 ++++++++++++++++++++++++ crypto/testmgr.c | 428 ++++++++++++++++++------------------- crypto/testmgr.h | 144 ------------- crypto/zlib.c | 381 --------------------------------- include/crypto/compress.h | 375 ++++++++++++++++++++++++-------- include/crypto/internal/compress.h | 32 +-- include/linux/crypto.h | 9 +- 16 files changed, 1387 insertions(+), 1044 deletions(-) create mode 100644 crypto/acompress.c delete mode 100644 crypto/pcompress.c create mode 100644 crypto/scompress.c delete mode 100644 crypto/zlib.c -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html