kernel/dma/pool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
atomic_pool_expand iterately tries the allocation while decrementing the
page order. There is no need to issue a warning if an attempted
allocation fails.
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
---
kernel/dma/pool.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/dma/pool.c b/kernel/dma/pool.c
index ee45dee33d49..26392badc36b 100644
--- a/kernel/dma/pool.c
+++ b/kernel/dma/pool.c
@@ -93,7 +93,7 @@ static int atomic_pool_expand(struct gen_pool *pool, size_t pool_size,
page = dma_alloc_from_contiguous(NULL, 1 << order,
order, false);
if (!page)
- page = alloc_pages(gfp, order);
+ page = alloc_pages(gfp | __GFP_NOWARN, order);
} while (!page && order-- > 0);
if (!page)
goto out;
--
2.52.0
On 02.12.2025 16:28, Dave Kleikamp wrote:
> atomic_pool_expand iterately tries the allocation while decrementing the
> page order. There is no need to issue a warning if an attempted
> allocation fails.
>
> Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Fixes: d7e673ec2c8e ("dma-pool: Only allocate from CMA when in same
memory zone")
Applied to dma-mapping-fixes branch with typo in commit message fixed.
> ---
> kernel/dma/pool.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/dma/pool.c b/kernel/dma/pool.c
> index ee45dee33d49..26392badc36b 100644
> --- a/kernel/dma/pool.c
> +++ b/kernel/dma/pool.c
> @@ -93,7 +93,7 @@ static int atomic_pool_expand(struct gen_pool *pool, size_t pool_size,
> page = dma_alloc_from_contiguous(NULL, 1 << order,
> order, false);
> if (!page)
> - page = alloc_pages(gfp, order);
> + page = alloc_pages(gfp | __GFP_NOWARN, order);
> } while (!page && order-- > 0);
> if (!page)
> goto out;
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
On 2025-12-02 3:28 pm, Dave Kleikamp wrote: > atomic_pool_expand iterately tries the allocation while decrementing the "iteratively"? > page order. There is no need to issue a warning if an attempted > allocation fails. > > Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com> > --- > kernel/dma/pool.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/dma/pool.c b/kernel/dma/pool.c > index ee45dee33d49..26392badc36b 100644 > --- a/kernel/dma/pool.c > +++ b/kernel/dma/pool.c > @@ -93,7 +93,7 @@ static int atomic_pool_expand(struct gen_pool *pool, size_t pool_size, > page = dma_alloc_from_contiguous(NULL, 1 << order, > order, false); > if (!page) > - page = alloc_pages(gfp, order); > + page = alloc_pages(gfp | __GFP_NOWARN, order); Might be nice to keep some kind of warning if we entirely fail all the way down to order 0, although I guess if it matters it would show up via the warning on dma_alloc_from_pool() failure soon enough anyway... Either way it certainly makes sense in general; Reviewed-by: Robin Murphy <robin.murphy@arm.com> > } while (!page && order-- > 0); > if (!page) > goto out;
On 12/2/25 9:47AM, Robin Murphy wrote: > On 2025-12-02 3:28 pm, Dave Kleikamp wrote: >> atomic_pool_expand iterately tries the allocation while decrementing the > > "iteratively"? Oops. > >> page order. There is no need to issue a warning if an attempted >> allocation fails. >> >> Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com> >> --- >> kernel/dma/pool.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/kernel/dma/pool.c b/kernel/dma/pool.c >> index ee45dee33d49..26392badc36b 100644 >> --- a/kernel/dma/pool.c >> +++ b/kernel/dma/pool.c >> @@ -93,7 +93,7 @@ static int atomic_pool_expand(struct gen_pool *pool, >> size_t pool_size, >> page = dma_alloc_from_contiguous(NULL, 1 << order, >> order, false); >> if (!page) >> - page = alloc_pages(gfp, order); >> + page = alloc_pages(gfp | __GFP_NOWARN, order); > > Might be nice to keep some kind of warning if we entirely fail all the > way down to order 0, although I guess if it matters it would show up via > the warning on dma_alloc_from_pool() failure soon enough anyway... > > Either way it certainly makes sense in general; > > Reviewed-by: Robin Murphy <robin.murphy@arm.com> Thanks > >> } while (!page && order-- > 0); >> if (!page) >> goto out; >
© 2016 - 2026 Red Hat, Inc.