summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYury Norov (NVIDIA) <yury.norov@gmail.com>2025-07-19 16:53:59 -0400
committerAndrew Morton <akpm@linux-foundation.org>2025-07-24 19:12:36 -0700
commit77c50f9147eabcf726f62c73167bb9d9e8621a43 (patch)
treedaca6b4f1dbd1f9f045ac32be4fcd9cc9d8a4a6e
parent476d87d6a06146125e8f16edbe845a7bcf6a2e57 (diff)
mm: cma: simplify cma_debug_show_areas()
The function opencodes for_each_clear_bitrange(). Fix that and drop most of housekeeping code. Link: https://lkml.kernel.org/r/20250719205401.399475-2-yury.norov@gmail.com Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com> Acked-by: David Hildenbrand <david@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-rw-r--r--mm/cma.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/mm/cma.c b/mm/cma.c
index 0cd6f061021f4..2ffa4befb99ab 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -751,8 +751,7 @@ int __init cma_declare_contiguous_nid(phys_addr_t base,
static void cma_debug_show_areas(struct cma *cma)
{
- unsigned long next_zero_bit, next_set_bit, nr_zero;
- unsigned long start;
+ unsigned long start, end;
unsigned long nr_part;
unsigned long nbits;
int r;
@@ -763,22 +762,12 @@ static void cma_debug_show_areas(struct cma *cma)
for (r = 0; r < cma->nranges; r++) {
cmr = &cma->ranges[r];
- start = 0;
nbits = cma_bitmap_maxno(cma, cmr);
pr_info("range %d: ", r);
- for (;;) {
- next_zero_bit = find_next_zero_bit(cmr->bitmap,
- nbits, start);
- if (next_zero_bit >= nbits)
- break;
- next_set_bit = find_next_bit(cmr->bitmap, nbits,
- next_zero_bit);
- nr_zero = next_set_bit - next_zero_bit;
- nr_part = nr_zero << cma->order_per_bit;
- pr_cont("%s%lu@%lu", start ? "+" : "", nr_part,
- next_zero_bit);
- start = next_zero_bit + nr_zero;
+ for_each_clear_bitrange(start, end, cmr->bitmap, nbits) {
+ nr_part = (end - start) << cma->order_per_bit;
+ pr_cont("%s%lu@%lu", start ? "+" : "", nr_part, start);
}
pr_info("\n");
}