The way the algif_skcipher works currently is that on sendmsg/sendpage it builds an sgl for the input data and then on read/recvmsg it sends the job for encryption putting the user to sleep till the data is processed. This way it can only handle one job at a given time. To be able to fuly utilize the potential of existing crypto hardware accelerators it is required to submit multiple jobs in asynchronously. First patch enables asynchronous read and write on socket. Second patch enables af_alg sgl to be linked. Third patch implement asynch read for skcipher. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> --- Tadeusz Struk (3): net: socket: enable async read and write crypto: af_alg - Allow to link sgl crypto: algif - change algif_skcipher to be asynchronous crypto/af_alg.c | 16 ++ crypto/algif_skcipher.c | 315 ++++++++++++++++++++++++++++++++++++++++++++++- include/crypto/if_alg.h | 4 - include/net/sock.h | 2 net/socket.c | 48 ++++++- 5 files changed, 364 insertions(+), 21 deletions(-) -- 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