Author: mav
Date: Mon Oct 12 14:27:27 2015
New Revision: 289188
URL: https://svnweb.freebsd.org/changeset/base/289188

Log:
  6281 prefetching should apply to 1MB reads
  
  Reviewed by: Matthew Ahrens <mahr...@delphix.com>
  Reviewed by: Paul Dagnelie <p...@delphix.com>
  Reviewed by: Alexander Motin <m...@freebsd.org>
  Reviewed by: Dan McDonald <dan...@omniti.com>
  Reviewed by: Justin Gibbs <gi...@scsiguy.com>
  Reviewed by: Xin Li <delp...@freebsd.org>
  Approved by: Gordon Ross <gordon.r...@nexenta.com>
  Author: George Wilson <george.wil...@delphix.com>
  
  illumos/illumos-gate@632802744ef6d17e06d6980a95f631615c3b060f

Modified:
  vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_zfetch.c

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c     Mon Oct 12 14:24:11 
2015        (r289187)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c     Mon Oct 12 14:27:27 
2015        (r289188)
@@ -442,7 +442,7 @@ dmu_buf_hold_array_by_dnode(dnode_t *dn,
        }
 
        if ((flags & DMU_READ_NO_PREFETCH) == 0 && read &&
-           length < zfetch_array_rd_sz) {
+           length <= zfetch_array_rd_sz) {
                dmu_zfetch(&dn->dn_zfetch, blkid, nblks);
        }
        rw_exit(&dn->dn_struct_rwlock);

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_zfetch.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_zfetch.c      Mon Oct 12 
14:24:11 2015        (r289187)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_zfetch.c      Mon Oct 12 
14:27:27 2015        (r289188)
@@ -24,7 +24,7 @@
  */
 
 /*
- * Copyright (c) 2013, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
  */
 
 #include <sys/zfs_context.h>
@@ -49,7 +49,7 @@ uint32_t      zfetch_max_streams = 8;
 uint32_t       zfetch_min_sec_reap = 2;
 /* max bytes to prefetch per stream (default 8MB) */
 uint32_t       zfetch_max_distance = 8 * 1024 * 1024;
-/* number of bytes in a array_read at which we stop prefetching (1MB) */
+/* max number of bytes in an array_read in which we allow prefetching (1MB) */
 uint64_t       zfetch_array_rd_sz = 1024 * 1024;
 
 typedef struct zfetch_stats {
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to