path: root/mm
diff options
authorDennis Zhou <>2019-02-21 15:50:19 -0800
committerDennis Zhou <>2019-03-13 12:25:31 -0700
commit8e5a2b9893f36457582596fdade10f6feb2797ee (patch)
treecf056a83bf1bc9c2d2264491486920c481b50f82 /mm
parentfa3d493f7a573b4e4e2538486e912093a0161c1b (diff)
percpu: update free path with correct new free region
When updating the chunk's contig_hint on the free path of a hint that does not touch the page boundaries, it was incorrectly using the starting offset of the free region and the block's contig_hint. This could lead to incorrect assumptions about fit given a size and better alignment of the start. Fix this by using (end - start) as this is only called when updating a hint within a block. Signed-off-by: Dennis Zhou <> Reviewed-by: Peng Fan <>
Diffstat (limited to 'mm')
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/percpu.c b/mm/percpu.c
index 2e6fc8d552c9..938f295a60d4 100644
--- a/mm/percpu.c
+++ b/mm/percpu.c
@@ -871,7 +871,7 @@ static void pcpu_block_update_hint_free(struct pcpu_chunk *chunk, int bit_off,
pcpu_chunk_update(chunk, pcpu_block_off_to_off(s_index, start),
- s_block->contig_hint);
+ end - start);