2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00

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>
This commit is contained in:
Yury Norov (NVIDIA) 2025-07-19 16:53:59 -04:00 committed by Andrew Morton
parent 476d87d6a0
commit 77c50f9147

View File

@ -751,8 +751,7 @@ int __init cma_declare_contiguous_nid(phys_addr_t base,
static void cma_debug_show_areas(struct cma *cma) static void cma_debug_show_areas(struct cma *cma)
{ {
unsigned long next_zero_bit, next_set_bit, nr_zero; unsigned long start, end;
unsigned long start;
unsigned long nr_part; unsigned long nr_part;
unsigned long nbits; unsigned long nbits;
int r; int r;
@ -763,22 +762,12 @@ static void cma_debug_show_areas(struct cma *cma)
for (r = 0; r < cma->nranges; r++) { for (r = 0; r < cma->nranges; r++) {
cmr = &cma->ranges[r]; cmr = &cma->ranges[r];
start = 0;
nbits = cma_bitmap_maxno(cma, cmr); nbits = cma_bitmap_maxno(cma, cmr);
pr_info("range %d: ", r); pr_info("range %d: ", r);
for (;;) { for_each_clear_bitrange(start, end, cmr->bitmap, nbits) {
next_zero_bit = find_next_zero_bit(cmr->bitmap, nr_part = (end - start) << cma->order_per_bit;
nbits, start); pr_cont("%s%lu@%lu", start ? "+" : "", nr_part, 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;
} }
pr_info("\n"); pr_info("\n");
} }