git: b7ea0ff6a2d5 - stable/13 - mlx5e: Make TLS tag zones unmanaged

From: Hans Petter Selasky <hselasky_at_FreeBSD.org>
Date: Thu, 24 Feb 2022 10:04:28 UTC
The branch stable/13 has been updated by hselasky:

URL: https://cgit.FreeBSD.org/src/commit/?id=b7ea0ff6a2d59c10f246fd40a2536bdd2214d0fe

commit b7ea0ff6a2d59c10f246fd40a2536bdd2214d0fe
Author:     Hans Petter Selasky <hselasky@FreeBSD.org>
AuthorDate: 2022-02-24 09:59:38 +0000
Commit:     Hans Petter Selasky <hselasky@FreeBSD.org>
CommitDate: 2022-02-24 09:59:38 +0000

    mlx5e: Make TLS tag zones unmanaged
    
    These zones are cache zones used to allocate TLS offload contexts from
    firmware.  Releasing items from the cache is a sleepable operation due
    to the need to await a response from the firmware command freeing the
    tag, so items cannot be reclaimed from the zone in non-sleepable
    contexts.  Since the cache size is limited by firmware limits, avoid
    this by setting UMA_ZONE_UNMANAGED to avoid reclamation by uma_timeout()
    and the low memory handler.
    
    Reviewed by:    hselasky, kib
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D34142
    
    (cherry picked from commit 235ed6a48629771e4bc89141fdfe865b71024758)
---
 sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c b/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c
index 2b1519e5fb0a..738ae24d0b37 100644
--- a/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c
+++ b/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c
@@ -146,7 +146,8 @@ mlx5e_tls_init(struct mlx5e_priv *priv)
 
 	ptls->zone = uma_zcache_create(ptls->zname,
 	     sizeof(struct mlx5e_tls_tag), NULL, NULL, NULL, NULL,
-	     mlx5e_tls_tag_import, mlx5e_tls_tag_release, priv->mdev, 0);
+	     mlx5e_tls_tag_import, mlx5e_tls_tag_release, priv->mdev,
+	     UMA_ZONE_UNMANAGED);
 
 	/* shared between RX and TX TLS */
 	ptls->max_resources = 1U << (MLX5_CAP_GEN(priv->mdev, log_max_dek) - 1);