Commit 8e5a2b98 authored by Dennis Zhou's avatar Dennis Zhou

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: default avatarDennis Zhou <dennis@kernel.org>
Reviewed-by: default avatarPeng Fan <peng.fan@nxp.com>
parent fa3d493f
...@@ -871,7 +871,7 @@ static void pcpu_block_update_hint_free(struct pcpu_chunk *chunk, int bit_off, ...@@ -871,7 +871,7 @@ static void pcpu_block_update_hint_free(struct pcpu_chunk *chunk, int bit_off,
pcpu_chunk_refresh_hint(chunk); pcpu_chunk_refresh_hint(chunk);
else else
pcpu_chunk_update(chunk, pcpu_block_off_to_off(s_index, start), pcpu_chunk_update(chunk, pcpu_block_off_to_off(s_index, start),
s_block->contig_hint); end - start);
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment