HomeFreeBSD

Optimize vop_stdadvise(POSIX_FADV_DONTNEED). Instead of looking up a

Description

Optimize vop_stdadvise(POSIX_FADV_DONTNEED). Instead of looking up a
buffer for each block number in the range with gbincore(), look up the
next instantiated buffer with the logical block number which is
greater or equal to the next lblkno. This significantly speeds up the
iteration for sparce-populated range.

Move the iteration into new helper bnoreuselist(), which is structured
similarly to flushbuflist().

Reported and tested by: pho
Reviewed by: markj
Sponsored by: The FreeBSD Foundation

Details

Provenance
kibAuthored on
Reviewer
markj
Parents
rS292325: Simplify the loop step in the flushbuflist() and make it independed on
Branches
Unknown
Tags
Unknown