HomeFreeBSD

When the swap pager allocates space on disk, it requests contiguous

Description

When the swap pager allocates space on disk, it requests contiguous
blocks in a single call to blist_alloc(). However, when it frees
that space, it previously called blist_free() on each block, one at a
time. With this change, the swap pager identifies ranges of
contiguous blocks to be freed, and calls blist_free() once per
range. In one extreme case, that is described in the review, the time
to perform an munmap(2) was reduced by 55%.

Submitted by: Doug Moore <dougm@rice.edu>
Reviewed by: kib
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D12397

Details

Provenance
alcAuthored on
Reviewer
kib
Differential Revision
D12397: combine block frees in swap_pager_meta_frees
Parents
rS326328: MFC r323194:
Branches
Unknown
Tags
Unknown