public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] RDMA/irdma: Use kvzalloc for paged memory DMA address array
@ 2026-01-21 18:54 Carlos Bilbao
  2026-01-21 19:00 ` Carlos Bilbao
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Carlos Bilbao @ 2026-01-21 18:54 UTC (permalink / raw)
  To: mustafa.ismail, shiraz.saleem, jgg, leon
  Cc: bilbao, linux-rdma, linux-kernel, carlos.bilbao

Allocate array chunk->dmainfo.dmaaddrs using kvzalloc() to allow the
allocation to fall back to vmalloc when contiguous memory is unavailable
(instead of failing and logging page allocation warnings).

Signed-off-by: Carlos Bilbao (Lambda) <carlos.bilbao@kernel.org>
---
 drivers/infiniband/hw/irdma/utils.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/infiniband/hw/irdma/utils.c
b/drivers/infiniband/hw/irdma/utils.c
index 0422787592d8..59ef9856fd25 100644
--- a/drivers/infiniband/hw/irdma/utils.c
+++ b/drivers/infiniband/hw/irdma/utils.c
@@ -2257,7 +2257,7 @@ void irdma_pble_free_paged_mem(struct irdma_chunk
*chunk)
                                 chunk->pg_cnt);

 done:
-       kfree(chunk->dmainfo.dmaaddrs);
+       kvfree(chunk->dmainfo.dmaaddrs);
        chunk->dmainfo.dmaaddrs = NULL;
        vfree(chunk->vaddr);
        chunk->vaddr = NULL;
@@ -2274,7 +2274,7 @@ int irdma_pble_get_paged_mem(struct irdma_chunk
*chunk, u32 pg_cnt)
        u32 size;
        void *va;

-       chunk->dmainfo.dmaaddrs = kzalloc(pg_cnt << 3, GFP_KERNEL);
+       chunk->dmainfo.dmaaddrs = kvzalloc(pg_cnt << 3, GFP_KERNEL);
        if (!chunk->dmainfo.dmaaddrs)
                return -ENOMEM;

@@ -2295,7 +2295,7 @@ int irdma_pble_get_paged_mem(struct irdma_chunk
*chunk, u32 pg_cnt)

        return 0;
 err:
-       kfree(chunk->dmainfo.dmaaddrs);
+       kvfree(chunk->dmainfo.dmaaddrs);
        chunk->dmainfo.dmaaddrs = NULL;

        return -ENOMEM;
-- 2.50.1 (Apple Git-155)



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-01-28 12:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-21 18:54 [PATCH] RDMA/irdma: Use kvzalloc for paged memory DMA address array Carlos Bilbao
2026-01-21 19:00 ` Carlos Bilbao
2026-01-22 20:53 ` Nikolova, Tatyana E
2026-01-26 19:46 ` Leon Romanovsky
2026-01-28  1:44   ` [PATCH v2] " carlos.bilbao
2026-01-28 12:18     ` Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox