percpu: add block level scan_hint
authorDennis Zhou <dennis@kernel.org>
Mon, 25 Feb 2019 21:41:45 +0000 (13:41 -0800)
committerDennis Zhou <dennis@kernel.org>
Wed, 13 Mar 2019 19:25:31 +0000 (12:25 -0700)
commit382b88e961c7a4196e01cef3249297583d02d608
tree0d1dc78b084265547ec2531b42c6cb3a59a8340e
parentb239f7daf5530f562000bf55f02cc8028703f507
percpu: add block level scan_hint

Fragmentation can cause both blocks and chunks to have an early
first_firee bit available, but only able to satisfy allocations much
later on. This patch introduces a scan_hint to help mitigate some
unnecessary scanning.

The scan_hint remembers the largest area prior to the contig_hint. If
the contig_hint == scan_hint, then scan_hint_start > contig_hint_start.
This is necessary for scan_hint discovery when refreshing a block.

Signed-off-by: Dennis Zhou <dennis@kernel.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
mm/percpu-internal.h
mm/percpu.c