linux/crypto
Herbert Xu e7cd2514ea [CRYPTO] chainiv: Avoid lock spinning where possible
This patch makes chainiv avoid spinning by postponing requests on lock
contention if the user allows the use of asynchronous algorithms.  If
a synchronous algorithm is requested then we behave as before.

This should improve IPsec performance on SMP when two CPUs attempt to
transmit over the same SA.  Currently one of them will spin doing nothing
waiting for the other CPU to finish its encryption.  This patch makes it
postpone the request and get on with other work.

If only one CPU is transmitting for a given SA, then we will process
the request synchronously as before.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2008-01-11 08:16:55 +11:00
..
async_tx async_tx: fix dma_wait_for_async_tx 2007-09-24 10:26:26 -07:00
ablkcipher.c [CRYPTO] skcipher: Create default givcipher instances 2008-01-11 08:16:46 +11:00
aead.c [CRYPTO] aead: Create default givcipher instances 2008-01-11 08:16:52 +11:00
aes_generic.c [CRYPTO] aes-generic: Make key generation exportable 2008-01-11 08:16:09 +11:00
algapi.c [CRYPTO] api: Add crypto_attr_alg_name 2008-01-11 08:16:40 +11:00
anubis.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
api.c [CRYPTO] skcipher: Create default givcipher instances 2008-01-11 08:16:46 +11:00
arc4.c
authenc.c [CRYPTO] authenc: Add givencrypt operation 2008-01-11 08:16:50 +11:00
blkcipher.c [CRYPTO] skcipher: Create default givcipher instances 2008-01-11 08:16:46 +11:00
blowfish.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
camellia.c [CRYPTO] camellia: Move more common code into camellia_setup_tail 2008-01-11 08:16:22 +11:00
cast5.c
cast6.c
cbc.c [CRYPTO] cbc: Require block size to be a power of 2 2008-01-11 08:16:19 +11:00
ccm.c [CRYPTO] ccm: Added CCM mode 2008-01-11 08:16:53 +11:00
chainiv.c [CRYPTO] chainiv: Avoid lock spinning where possible 2008-01-11 08:16:55 +11:00
cipher.c [CRYPTO] api: Add missing headers for setkey_unaligned 2007-10-10 16:55:40 -07:00
compress.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
crc32c.c
cryptd.c [CRYPTO] cryptd: Use geniv of the underlying algorithm 2008-01-11 08:16:43 +11:00
crypto_null.c [CRYPTO] null: Allow setkey on digest_null 2008-01-11 08:16:54 +11:00
cryptomgr.c [CRYPTO] cryptomgr: Fix parsing of recursive algorithms 2007-10-10 16:55:45 -07:00
ctr.c [CRYPTO] seqiv: Add Sequence Number IV Generator 2008-01-11 08:16:48 +11:00
deflate.c
des_generic.c [CRYPTO] hifn_795x: Detect weak keys 2008-01-11 08:16:03 +11:00
digest.c [CRYPTO] scatterwalk: Restore custom sg chaining for now 2008-01-11 08:16:33 +11:00
ecb.c
eseqiv.c [CRYPTO] eseqiv: Add Encrypted Sequence Number IV Generator 2008-01-11 08:16:45 +11:00
fcrypt.c crypto: convert "crypto" subdirectory to UTF-8 2007-10-19 23:06:17 +02:00
gcm.c [CRYPTO] gcm: Use crypto_grab_skcipher 2008-01-11 08:16:47 +11:00
gf128mul.c [CRYPTO] xts: XTS blockcipher mode implementation without partial blocks 2007-10-10 16:55:45 -07:00
hash.c [CRYPTO] api: Add missing headers for setkey_unaligned 2007-10-10 16:55:40 -07:00
hmac.c [CRYPTO] scatterwalk: Restore custom sg chaining for now 2008-01-11 08:16:33 +11:00
internal.h [CRYPTO] skcipher: Create default givcipher instances 2008-01-11 08:16:46 +11:00
Kconfig [CRYPTO] seqiv: Add select AEAD in Kconfig 2008-01-11 08:16:55 +11:00
khazad.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
lrw.c
lzo.c [CRYPTO] lzo: Add LZO compression algorithm support 2008-01-11 08:16:35 +11:00
Makefile [CRYPTO] ccm: Added CCM mode 2008-01-11 08:16:53 +11:00
md4.c
md5.c
michael_mic.c
pcbc.c [CRYPTO] pcbc: Use crypto_xor 2008-01-11 08:16:19 +11:00
proc.c
salsa20_generic.c [CRYPTO] salsa20_generic: Fix multi-page processing 2008-01-11 08:16:34 +11:00
scatterwalk.c [CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy 2008-01-11 08:16:54 +11:00
seed.c [CRYPTO] seed: New cipher algorithm 2007-10-10 16:55:38 -07:00
seqiv.c [CRYPTO] seqiv: Add AEAD support 2008-01-11 08:16:52 +11:00
serpent.c
sha1_generic.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
sha256_generic.c [CRYPTO] sha256-generic: Extend sha256_generic.c to support SHA-224 2008-01-11 08:16:12 +11:00
sha512.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
tcrypt.c [CRYPTO] tcrypt: Add CCM vectors 2008-01-11 08:16:53 +11:00
tcrypt.h [CRYPTO] tcrypt: Add CCM vectors 2008-01-11 08:16:53 +11:00
tea.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
tgr192.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
twofish_common.c [CRYPTO] twofish: Do not unroll big stuff in twofish key setup 2008-01-11 08:16:06 +11:00
twofish.c
wp512.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
xcbc.c [CRYPTO] scatterwalk: Move scatterwalk.h to linux/crypto 2008-01-11 08:16:32 +11:00
xor.c
xts.c [CRYPTO] xts: XTS blockcipher mode implementation without partial blocks 2007-10-10 16:55:45 -07:00