public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH] ARM/dma-mapping: use kvzalloc for fallback memory allocation need
@ 2022-12-20  5:25 Deepak R Varma
  2023-01-20 11:30 ` Deepak R Varma
  0 siblings, 1 reply; 2+ messages in thread
From: Deepak R Varma @ 2022-12-20  5:25 UTC (permalink / raw)
  To: Russell King, linux-arm-kernel, linux-kernel
  Cc: Saurabh Singh Sengar, Praveen Kumar, drv

When the memory sizes are not known upfront, it is preferred to use the
kvzalloc helper function instead of direct conditional evaluation of
size and kzalloc/vzalloc fallback design. The kvzalloc helper function
in this case is more efficient as it avoids indefinite kzalloc retries
when a small memory size is needed but is unavailable.
This LWN article has further details on the advantages of using
kvzalloc in case of fallback memory allocation needs:
 	https://lwn.net/Articles/711653/

This patch proposal is based on following Coccinelle warning using the
kvmalloc.cocci semantic patch.

arch/arm/mm/dma-mapping.c:858:28-29: WARNING opportunity for kvmalloc

Signed-off-by: Deepak R Varma <drv@mailo.com>
---
Note: The patch proposal is compile tested only.

 arch/arm/mm/dma-mapping.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index c135f6e37a00..2b79af377a81 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -855,10 +855,7 @@ static struct page **__iommu_alloc_buffer(struct device *dev, size_t size,
 	int i = 0;
 	int order_idx = 0;

-	if (array_size <= PAGE_SIZE)
-		pages = kzalloc(array_size, GFP_KERNEL);
-	else
-		pages = vzalloc(array_size);
+	pages = kvzalloc(array_size, GFP_KERNEL);
 	if (!pages)
 		return NULL;

--
2.34.1




_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2023-01-20 11:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-20  5:25 [PATCH] ARM/dma-mapping: use kvzalloc for fallback memory allocation need Deepak R Varma
2023-01-20 11:30 ` Deepak R Varma

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