lkml.org 
[lkml]   [2017]   [Jul]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 20/23] percpu: update free path to take advantage of contig hints
On Mon, Jul 24, 2017 at 07:02:17PM -0400, Dennis Zhou wrote:
> From: "Dennis Zhou (Facebook)" <dennisszhou@gmail.com>
>
> The bitmap allocator must keep metadata consistent. The easiest way is
> to scan after every allocation for each affected block and the entire
> chunk. This is rather expensive.
>
> The free path can take advantage of current contig hints to prevent
> scanning within the start and end block. If a scan is needed, it can
> be done by scanning backwards from the start and forwards from the end
> to identify the entire free area this can be combined with. The blocks
> can then be updated by some basic checks rather than complete block
> scans.
>
> A chunk scan happens when the freed area makes a page free, a block
> free, or spans across blocks. This is necessary as the contig hint at
> this point could span across blocks. The check uses the minimum of page
> size and the block size to allow for variable sized blocks. There is a
> tradeoff here with not updating after every free. It is possible a
> contig hint in one block can be merged with the contig hint in the next
> block. This means the contig hint can be off by up to a page. However,
> if the chunk's contig hint is contained in one block, the contig hint
> will be accurate.
>
> Signed-off-by: Dennis Zhou <dennisszhou@gmail.com>

Reviewed-by: Josef Bacik <jbacik@fb.com>

Thanks,

Josef

\
 
 \ /
  Last update: 2017-07-25 21:39    [W:0.900 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site