From 0a491ccfa897fb3536145bef772c39c1c7175878 Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Mon, 13 Oct 2025 22:08:59 -0700 Subject: [PATCH] panvk: allow panvk_pool_alloc_mem to use full slab_size We waste the last chunk if the last alloc happen to match the size. Cc: mesa-stable Reviewed-by: Boris Brezillon Part-of: (cherry picked from commit dcd2a9941529863c23cfb50c967f21ac044b98a1) --- .pick_status.json | 2 +- src/panfrost/vulkan/panvk_mempool.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 17b4513fff7..da0a58dc2dd 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1184,7 +1184,7 @@ "description": "panvk: allow panvk_pool_alloc_mem to use full slab_size", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/panfrost/vulkan/panvk_mempool.c b/src/panfrost/vulkan/panvk_mempool.c index daba1c97e39..05a133e0059 100644 --- a/src/panfrost/vulkan/panvk_mempool.c +++ b/src/panfrost/vulkan/panvk_mempool.c @@ -132,7 +132,7 @@ panvk_pool_alloc_mem(struct panvk_pool *pool, struct panvk_pool_alloc_info info) unsigned offset = ALIGN_POT(pool->transient_offset, info.alignment); /* If we don't fit, allocate a new backing */ - if (unlikely(bo == NULL || (offset + info.size) >= pool->base.slab_size)) { + if (unlikely(bo == NULL || (offset + info.size) > pool->base.slab_size)) { bo = panvk_pool_alloc_backing(pool, info.size); offset = 0; }