crypto: caam/qi2 - Increase napi budget to process more caam responses
diff mbox series

Message ID 20190718112440.4052-1-vakul.garg@nxp.com
State Accepted
Delegated to: Herbert Xu
Headers show
Series
  • crypto: caam/qi2 - Increase napi budget to process more caam responses
Related show

Commit Message

Vakul Garg July 18, 2019, 11:29 a.m. UTC
While running ipsec processing for traffic through multiple network
interfaces, it is observed that caam driver gets less time to poll
responses from caam block compared to ethernet driver. This is because
ethernet driver has as many napi instances per cpu as the number of
ethernet interfaces in system. Therefore, caam driver's napi executes
lesser than the ethernet driver's napi instances. This results in
situation that we end up submitting more requests to caam (which it is
able to finish off quite fast), but don't dequeue the responses at same
rate. This makes caam response FQs bloat with large number of frames. In
some situations, it makes kernel crash due to out-of-memory. To prevent
it We increase the napi budget of dpseci driver to a big value so that
caam driver is able to drain its response queues at enough rate.

Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
---
 drivers/crypto/caam/caamalg_qi2.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Horia Geanta July 19, 2019, 4:37 p.m. UTC | #1
On 7/18/2019 2:29 PM, Vakul Garg wrote:
> While running ipsec processing for traffic through multiple network
> interfaces, it is observed that caam driver gets less time to poll
> responses from caam block compared to ethernet driver. This is because
> ethernet driver has as many napi instances per cpu as the number of
> ethernet interfaces in system. Therefore, caam driver's napi executes
> lesser than the ethernet driver's napi instances. This results in
> situation that we end up submitting more requests to caam (which it is
> able to finish off quite fast), but don't dequeue the responses at same
> rate. This makes caam response FQs bloat with large number of frames. In
> some situations, it makes kernel crash due to out-of-memory. To prevent
> it We increase the napi budget of dpseci driver to a big value so that
> caam driver is able to drain its response queues at enough rate.
> 
> Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>

Thanks,
Horia
Herbert Xu July 26, 2019, 12:35 p.m. UTC | #2
Vakul Garg <vakul.garg@nxp.com> wrote:
> While running ipsec processing for traffic through multiple network
> interfaces, it is observed that caam driver gets less time to poll
> responses from caam block compared to ethernet driver. This is because
> ethernet driver has as many napi instances per cpu as the number of
> ethernet interfaces in system. Therefore, caam driver's napi executes
> lesser than the ethernet driver's napi instances. This results in
> situation that we end up submitting more requests to caam (which it is
> able to finish off quite fast), but don't dequeue the responses at same
> rate. This makes caam response FQs bloat with large number of frames. In
> some situations, it makes kernel crash due to out-of-memory. To prevent
> it We increase the napi budget of dpseci driver to a big value so that
> caam driver is able to drain its response queues at enough rate.
> 
> Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
> ---
> drivers/crypto/caam/caamalg_qi2.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Patch applied.  Thanks.

Patch
diff mbox series

diff --git a/drivers/crypto/caam/caamalg_qi2.h b/drivers/crypto/caam/caamalg_qi2.h
index 8646a7883c63..aa0aff4cd25b 100644
--- a/drivers/crypto/caam/caamalg_qi2.h
+++ b/drivers/crypto/caam/caamalg_qi2.h
@@ -15,7 +15,7 @@ 
 
 #define DPAA2_CAAM_STORE_SIZE	16
 /* NAPI weight *must* be a multiple of the store size. */
-#define DPAA2_CAAM_NAPI_WEIGHT	64
+#define DPAA2_CAAM_NAPI_WEIGHT	512
 
 /* The congestion entrance threshold was chosen so that on LS2088
  * we support the maximum throughput for the available memory