diff options
author | Kim Phillips <kim.phillips@freescale.com> | 2012-06-22 20:48:53 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2012-06-27 02:42:06 -0400 |
commit | 1a076689cda8a1d623dcda170b2dc2b476cc6f1a (patch) | |
tree | 4c71eb88be4803eb8fd3b60884e8e9b2bc496b5e | |
parent | 281922a1d4f59bdebbe78c1d9f4c50a967eb6cff (diff) |
crypto: caam - disable IRQ coalescing by default
It has been observed that in zero-loss benchmarks, when a
slow traffic rate is being tested, the IRQ timer coalescing
parameter was set too high, and the ethernet controller
would start dropping packets because the job ring back half
wouldn't be executed in time before the ethernet controller
would fill its buffers, thereby significantly reducing the
zero-loss performance figures.
Empirical testing has shown that the best zero-loss performance
is achieved when IRQ coalescing is set to minimum values and/or
turned off, since apparently the job ring driver already implements
an adequately-performing general-purpose IRQ mitigation strategy
in software.
Whilst we could go with minimal count (2-8) and timing settings
(192-256), we prefer just turning h/w coalescing altogether off
to minimize setkey latency (due to split key generation), and
for consistent cross-SoC performance (the SEC vs. core clock
ratio changes).
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | drivers/crypto/caam/Kconfig | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/crypto/caam/Kconfig b/drivers/crypto/caam/Kconfig index 502a7f3cca5f..65c7668614ab 100644 --- a/drivers/crypto/caam/Kconfig +++ b/drivers/crypto/caam/Kconfig | |||
@@ -32,10 +32,13 @@ config CRYPTO_DEV_FSL_CAAM_RINGSIZE | |||
32 | config CRYPTO_DEV_FSL_CAAM_INTC | 32 | config CRYPTO_DEV_FSL_CAAM_INTC |
33 | bool "Job Ring interrupt coalescing" | 33 | bool "Job Ring interrupt coalescing" |
34 | depends on CRYPTO_DEV_FSL_CAAM | 34 | depends on CRYPTO_DEV_FSL_CAAM |
35 | default y | 35 | default n |
36 | help | 36 | help |
37 | Enable the Job Ring's interrupt coalescing feature. | 37 | Enable the Job Ring's interrupt coalescing feature. |
38 | 38 | ||
39 | Note: the driver already provides adequate | ||
40 | interrupt coalescing in software. | ||
41 | |||
39 | config CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD | 42 | config CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD |
40 | int "Job Ring interrupt coalescing count threshold" | 43 | int "Job Ring interrupt coalescing count threshold" |
41 | depends on CRYPTO_DEV_FSL_CAAM_INTC | 44 | depends on CRYPTO_DEV_FSL_CAAM_INTC |