[PATCH] percpu: remove the unnecessary operation for bitmaps in finding suitable region

From: Junhua Huang
Date: Sat Aug 14 2021 - 23:21:45 EST


From: Junhua Huang <huang.junhua@xxxxxxxxxx>

We use pcpu_next_fit_region to find the next fit region for alloc. Once
return, the region fit the request and then break the loop, or get the
next start offset from pcpu_is_populated. So there is no necessary to
add bits to bit_off. At the same time, bits will set 0 in
pcpu_next_fit_region each time, so I think it is unnecessary to
set bits zero in pcpu_for_each_fit_region loops.

Signed-off-by: Junhua Huang <huang.junhua@xxxxxxxxxx>
---
mm/percpu.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/mm/percpu.c b/mm/percpu.c
index 7f2e0151c4e2..ec7a5d10f6c9 100644
--- a/mm/percpu.c
+++ b/mm/percpu.c
@@ -489,7 +489,6 @@ static void pcpu_next_fit_region(struct pcpu_chunk *chunk, int alloc_bits,
for (pcpu_next_fit_region((chunk), (alloc_bits), (align), &(bit_off), \
&(bits)); \
(bit_off) < pcpu_chunk_map_bits((chunk)); \
- (bit_off) += (bits), \
pcpu_next_fit_region((chunk), (alloc_bits), (align), &(bit_off), \
&(bits)))

@@ -1126,7 +1125,6 @@ static int pcpu_find_block_fit(struct pcpu_chunk *chunk, int alloc_bits,
break;

bit_off = next_off;
- bits = 0;
}

if (bit_off == pcpu_chunk_map_bits(chunk))
--
2.25.1