summaryrefslogtreecommitdiffstats
path: root/mm/percpu-internal.h
diff options
context:
space:
mode:
authorDennis Zhou2019-02-13 20:10:30 +0100
committerDennis Zhou2019-03-13 20:25:31 +0100
commitb239f7daf5530f562000bf55f02cc8028703f507 (patch)
tree699b64a042de071ada97dc59288d1882181b64b9 /mm/percpu-internal.h
parentpercpu: relegate chunks unusable when failing small allocations (diff)
downloadkernel-qcow2-linux-b239f7daf5530f562000bf55f02cc8028703f507.tar.gz
kernel-qcow2-linux-b239f7daf5530f562000bf55f02cc8028703f507.tar.xz
kernel-qcow2-linux-b239f7daf5530f562000bf55f02cc8028703f507.zip
percpu: set PCPU_BITMAP_BLOCK_SIZE to PAGE_SIZE
Previously, block size was flexible based on the constraint that the GCD(PCPU_BITMAP_BLOCK_SIZE, PAGE_SIZE) > 1. However, this carried the overhead that keeping a floating number of populated free pages required scanning over the free regions of a chunk. Setting the block size to be fixed at PAGE_SIZE lets us know when an empty page becomes used as we will break a full contig_hint of a block. This means we no longer have to scan the whole chunk upon breaking a contig_hint which empty page management piggybacked off. A later patch takes advantage of this to optimize the allocation path by only scanning forward using the scan_hint introduced later too. Signed-off-by: Dennis Zhou <dennis@kernel.org> Reviewed-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'mm/percpu-internal.h')
0 files changed, 0 insertions, 0 deletions