HomeFreeBSD

Illumos 5987 - zfs prefetch code needs work

Description

Illumos 5987 - zfs prefetch code needs work

5987 zfs prefetch code needs work
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Approved by: Gordon Ross <gordon.ross@nexenta.com>

References:

https://www.illumos.org/issues/5987 zfs prefetch code needs work
illumos/illumos-gate@cf6106c 5987 zfs prefetch code needs work

Porting notes:

  • [module/zfs/dbuf.c]
    • 5f6d0b6 Handle block pointers with a corrupt logical size
  • [module/zfs/dmu_zfetch.c]
    • c65aa5b Fix gcc missing parenthesis warnings
    • 428870f Update core ZFS code from build 121 to build 141.
    • 79c76d5 Change KM_PUSHPAGE -> KM_SLEEP
    • b8d06fc Switch KM_SLEEP to KM_PUSHPAGE
    • Account for ISO C90 - mixed declarations and code - warnings
    • Module parameters (new/changed):
      • Replaced zfetch_block_cap with zfetch_max_distance (Max bytes to prefetch per stream (default 8MB; 8 * 1024 * 1024))
      • Preserved zfs_prefetch_disable as 'int' for consistency with existing Linux module options.
  • [include/sys/trace_arc.h]
    • Added new tracepoints
      • DEFINE_ARC_BUF_HDR_EVENT(zfs_arcsyncwaitforasync);
      • DEFINE_ARC_BUF_HDR_EVENT(zfs_arcdemandhitpredictiveprefetch);
  • [man/man5/zfs-module-parameters.5]
    • Updated man page

Ported-by: kernelOfTruth kerneloftruth@gmail.com
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>

Details

Provenance
mahrensAuthored on Dec 26 2015, 9:10 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Jan 12 2016, 5:02 PM
Parents
rGab5cbbd1078b: Illumos 6293 - ztest failure: error == 28 (0xc == 0x1c) in ztest_tx_assign()
Branches
Unknown
Tags
Unknown

Event Timeline