Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-7]: src/sbin/dump Pull up following revision(s) (requested by bou...



details:   https://anonhg.NetBSD.org/src/rev/0791342e6538
branches:  netbsd-7
changeset: 799658:0791342e6538
user:      riz <riz%NetBSD.org@localhost>
date:      Fri Nov 06 20:26:43 2015 +0000

description:
Pull up following revision(s) (requested by bouyer in ticket #990):
        sbin/dump/rcache.c: revision 1.25
        sbin/dump/dump.8: revision 1.67
        sbin/dump/main.c: revision 1.72
Default the read block size (-k default value) to kern.maxphys (usually
64k these days). This gives a noticable performance boost on large filesystems.

diffstat:

 sbin/dump/dump.8   |   8 +++++---
 sbin/dump/main.c   |   7 ++++---
 sbin/dump/rcache.c |  17 +++++++++++++++--
 3 files changed, 24 insertions(+), 8 deletions(-)

diffs (102 lines):

diff -r 057df30b5fe5 -r 0791342e6538 sbin/dump/dump.8
--- a/sbin/dump/dump.8  Fri Nov 06 20:23:56 2015 +0000
+++ b/sbin/dump/dump.8  Fri Nov 06 20:26:43 2015 +0000
@@ -1,4 +1,4 @@
-.\"    $NetBSD: dump.8,v 1.65 2012/08/29 18:46:13 dholland Exp $
+.\"    $NetBSD: dump.8,v 1.65.10.1 2015/11/06 20:26:43 riz Exp $
 .\"
 .\" Copyright (c) 1980, 1991, 1993
 .\"     Regents of the University of California.
@@ -30,7 +30,7 @@
 .\"
 .\"     @(#)dump.8     8.3 (Berkeley) 5/1/95
 .\"
-.Dd February 19, 2012
+.Dd August 24, 2015
 .Dt DUMP 8
 .Os
 .Sh NAME
@@ -207,7 +207,9 @@
 .It Fl k Ar read-blocksize
 The size in kilobyte of the read buffers, rounded up to a multiple of the
 file system block size.
-Default is 32k.
+Default is the value of the
+.Xr sysctl 7
+kern.maxphys.
 .It Fl L Ar label
 The user-supplied text string
 .Ar label
diff -r 057df30b5fe5 -r 0791342e6538 sbin/dump/main.c
--- a/sbin/dump/main.c  Fri Nov 06 20:23:56 2015 +0000
+++ b/sbin/dump/main.c  Fri Nov 06 20:26:43 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: main.c,v 1.71 2013/09/08 13:26:05 mlelstv Exp $        */
+/*     $NetBSD: main.c,v 1.71.4.1 2015/11/06 20:26:43 riz Exp $        */
 
 /*-
  * Copyright (c) 1980, 1991, 1993, 1994
@@ -39,7 +39,7 @@
 #if 0
 static char sccsid[] = "@(#)main.c     8.6 (Berkeley) 5/1/95";
 #else
-__RCSID("$NetBSD: main.c,v 1.71 2013/09/08 13:26:05 mlelstv Exp $");
+__RCSID("$NetBSD: main.c,v 1.71.4.1 2015/11/06 20:26:43 riz Exp $");
 #endif
 #endif /* not lint */
 
@@ -47,6 +47,7 @@
 #include <sys/time.h>
 #include <sys/stat.h>
 #include <sys/mount.h>
+#include <sys/sysctl.h>
 
 #include <ufs/ffs/fs.h>
 #include <ufs/ffs/ffs_extern.h>
@@ -79,7 +80,7 @@
 long   blocksperfile;          /* output blocks per file */
 const char *host;              /* remote host (if any) */
 int    readcache = -1;         /* read cache size (in readblksize blks) */
-int    readblksize = 32 * 1024; /* read block size */
+int    readblksize = -1;       /* read block size */
 char    default_time_string[] = "%T %Z"; /* default timestamp string */
 char    *time_string = default_time_string; /* timestamp string */
 
diff -r 057df30b5fe5 -r 0791342e6538 sbin/dump/rcache.c
--- a/sbin/dump/rcache.c        Fri Nov 06 20:23:56 2015 +0000
+++ b/sbin/dump/rcache.c        Fri Nov 06 20:26:43 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rcache.c,v 1.24 2013/06/15 01:27:19 christos Exp $     */
+/*     $NetBSD: rcache.c,v 1.24.6.1 2015/11/06 20:26:43 riz Exp $      */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: rcache.c,v 1.24 2013/06/15 01:27:19 christos Exp $");
+__RCSID("$NetBSD: rcache.c,v 1.24.6.1 2015/11/06 20:26:43 riz Exp $");
 #endif /* not lint */
 
 #include <sys/types.h>
@@ -98,6 +98,19 @@
        size_t len;
        size_t sharedSize;
 
+       if (readblksize == -1) { /* use kern.maxphys */
+               int kern_maxphys;
+               int mib[2] = { CTL_KERN, KERN_MAXPHYS };
+
+               len = sizeof(kern_maxphys);
+               if (sysctl(mib, 2, &kern_maxphys, &len, NULL, 0) < 0) {
+                       msg("sysctl(kern.maxphys) failed: %s\n",
+                           strerror(errno));
+                       return;
+               }
+               readblksize = kern_maxphys;
+       }
+
        /* Convert read block size in terms of filesystem block size */
        nblksread = howmany(readblksize, ufsib->ufs_bsize);
 



Home | Main Index | Thread Index | Old Index