The branch main has been updated by markj:

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

commit 235ed6a48629771e4bc89141fdfe865b71024758
Author:     Mark Johnston <[email protected]>
AuthorDate: 2022-02-15 14:03:31 +0000
Commit:     Mark Johnston <[email protected]>
CommitDate: 2022-02-15 14:25:34 +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
    MFC after:      3 weeks
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D34142
---
 sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c    | 3 ++-
 sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls_rx.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

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 f6ac2200f076..056202f814f7 100644
--- a/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c
+++ b/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c
@@ -165,7 +165,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);
diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls_rx.c 
b/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls_rx.c
index 5ac60c51a1db..462556bd9d99 100644
--- a/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls_rx.c
+++ b/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls_rx.c
@@ -459,7 +459,8 @@ mlx5e_tls_rx_init(struct mlx5e_priv *priv)
 
        ptls->zone = uma_zcache_create(ptls->zname,
            sizeof(struct mlx5e_tls_rx_tag), NULL, NULL, NULL, NULL,
-           mlx5e_tls_rx_tag_import, mlx5e_tls_rx_tag_release, priv->mdev, 0);
+           mlx5e_tls_rx_tag_import, mlx5e_tls_rx_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);

Reply via email to