Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Jun 2012 16:19:37 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r236517 - head/sys/kern
Message-ID:  <201206031619.q53GJb2m071284@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Sun Jun  3 16:19:37 2012
New Revision: 236517
URL: http://svn.freebsd.org/changeset/base/236517

Log:
  Add a knob to disable vn_io_fault.
  
  MFC after:	1 month

Modified:
  head/sys/kern/vfs_vnops.c

Modified: head/sys/kern/vfs_vnops.c
==============================================================================
--- head/sys/kern/vfs_vnops.c	Sun Jun  3 16:06:56 2012	(r236516)
+++ head/sys/kern/vfs_vnops.c	Sun Jun  3 16:19:37 2012	(r236517)
@@ -697,6 +697,9 @@ unlock:
 }
 
 static const int io_hold_cnt = 16;
+static int vn_io_fault_enable = 1;
+SYSCTL_INT(_debug, OID_AUTO, vn_io_fault_enable, CTLFLAG_RW,
+    &vn_io_fault_enable, 0, "Enable vn_io_fault lock avoidance");
 static unsigned long vn_io_faults_cnt;
 SYSCTL_LONG(_debug, OID_AUTO, vn_io_faults, CTLFLAG_RD,
     &vn_io_faults_cnt, 0, "Count of vn_io_fault lock avoidance triggers");
@@ -759,7 +762,8 @@ vn_io_fault(struct file *fp, struct uio 
 	vp = fp->f_vnode;
 	if (uio->uio_segflg != UIO_USERSPACE || vp->v_type != VREG ||
 	    ((mp = vp->v_mount) != NULL &&
-	    (mp->mnt_kern_flag & MNTK_NO_IOPF) == 0))
+	    (mp->mnt_kern_flag & MNTK_NO_IOPF) == 0) ||
+	    !vn_io_fault_enable)
 		return (doio(fp, uio, active_cred, flags, td));
 
 	/*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201206031619.q53GJb2m071284>