From: Yury Norov (NVIDIA) <yury.norov@gmail.com>
The function opencodes for_each_clear_bitrange(). Fix that and drop most
of housekeeping code.
Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
---
mm/cma_debug.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/mm/cma_debug.c b/mm/cma_debug.c
index fdf899532ca0..8c7d7f8e8fbd 100644
--- a/mm/cma_debug.c
+++ b/mm/cma_debug.c
@@ -56,16 +56,8 @@ static int cma_maxchunk_get(void *data, u64 *val)
for (r = 0; r < cma->nranges; r++) {
cmr = &cma->ranges[r];
bitmap_maxno = cma_bitmap_maxno(cma, cmr);
- end = 0;
- for (;;) {
- start = find_next_zero_bit(cmr->bitmap,
- bitmap_maxno, end);
- if (start >= bitmap_maxno)
- break;
- end = find_next_bit(cmr->bitmap, bitmap_maxno,
- start);
+ for_each_clear_bitrange(start, end, cmr->bitmap, bitmap_maxno)
maxchunk = max(end - start, maxchunk);
- }
}
spin_unlock_irq(&cma->lock);
*val = (u64)maxchunk << cma->order_per_bit;
--
2.43.0
On 19.07.25 22:54, Yury Norov wrote:
> From: Yury Norov (NVIDIA) <yury.norov@gmail.com>
>
> The function opencodes for_each_clear_bitrange(). Fix that and drop most
> of housekeeping code.
Not sure if talking about a "fix" it the right word here.
Acked-by: David Hildenbrand <david@redhat.com>
>
> Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
> ---
> mm/cma_debug.c | 10 +---------
> 1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/mm/cma_debug.c b/mm/cma_debug.c
> index fdf899532ca0..8c7d7f8e8fbd 100644
> --- a/mm/cma_debug.c
> +++ b/mm/cma_debug.c
> @@ -56,16 +56,8 @@ static int cma_maxchunk_get(void *data, u64 *val)
> for (r = 0; r < cma->nranges; r++) {
> cmr = &cma->ranges[r];
> bitmap_maxno = cma_bitmap_maxno(cma, cmr);
> - end = 0;
> - for (;;) {
> - start = find_next_zero_bit(cmr->bitmap,
> - bitmap_maxno, end);
> - if (start >= bitmap_maxno)
> - break;
> - end = find_next_bit(cmr->bitmap, bitmap_maxno,
> - start);
> + for_each_clear_bitrange(start, end, cmr->bitmap, bitmap_maxno)
> maxchunk = max(end - start, maxchunk);
> - }
> }
> spin_unlock_irq(&cma->lock);
> *val = (u64)maxchunk << cma->order_per_bit;
--
Cheers,
David / dhildenb
© 2016 - 2026 Red Hat, Inc.