mm/mm_init.c: use round_up() to calculate usermap size
Since pageblock_nr_pages and BITS_PER_LONG are power of 2, we could use round_up() to calculate it. Also we have renamed blockflags to pageblock_flags, adjust the comment accordingly. Link: https://lkml.kernel.org/r/20250212013818.873-1-richard.weiyang@gmail.com Signed-off-by: Wei Yang <richard.weiyang@gmail.com> Suggested-by: Shivank Garg <shivankg@amd.com> Reviewed-by: Shivank Garg <shivankg@amd.com> Acked-by: David Hildenbrand <david@redhat.com> Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
85968b6a20
commit
bf40aa2141
|
@ -1431,7 +1431,7 @@ void __meminit init_currently_empty_zone(struct zone *zone,
|
|||
|
||||
#ifndef CONFIG_SPARSEMEM
|
||||
/*
|
||||
* Calculate the size of the zone->blockflags rounded to an unsigned long
|
||||
* Calculate the size of the zone->pageblock_flags rounded to an unsigned long
|
||||
* Start by making sure zonesize is a multiple of pageblock_order by rounding
|
||||
* up. Then use 1 NR_PAGEBLOCK_BITS worth of bits per pageblock, finally
|
||||
* round what is now in bits to nearest long in bits, then return it in
|
||||
|
@ -1442,10 +1442,10 @@ static unsigned long __init usemap_size(unsigned long zone_start_pfn, unsigned l
|
|||
unsigned long usemapsize;
|
||||
|
||||
zonesize += zone_start_pfn & (pageblock_nr_pages-1);
|
||||
usemapsize = roundup(zonesize, pageblock_nr_pages);
|
||||
usemapsize = round_up(zonesize, pageblock_nr_pages);
|
||||
usemapsize = usemapsize >> pageblock_order;
|
||||
usemapsize *= NR_PAGEBLOCK_BITS;
|
||||
usemapsize = roundup(usemapsize, BITS_PER_LONG);
|
||||
usemapsize = round_up(usemapsize, BITS_PER_LONG);
|
||||
|
||||
return usemapsize / BITS_PER_BYTE;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue