Source-Changes-HG archive

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

[src/trunk]: src/sys/ufs/mfs the work-around in rev. 1.37 (turn off async) wa...



details:   https://anonhg.NetBSD.org/src/rev/e5c557b3ae43
branches:  trunk
changeset: 538653:e5c557b3ae43
user:      chs <chs%NetBSD.org@localhost>
date:      Thu Oct 24 16:41:00 2002 +0000

description:
the work-around in rev. 1.37 (turn off async) wasn't enough to prevent
hangs under heavy load.  so we now apply the more extreme version:
make MFS mounts "sync".  fixes PRs 17128 and 17321.

diffstat:

 sys/ufs/mfs/mfs_vfsops.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (30 lines):

diff -r 6b19eb3a8e07 -r e5c557b3ae43 sys/ufs/mfs/mfs_vfsops.c
--- a/sys/ufs/mfs/mfs_vfsops.c  Thu Oct 24 16:22:49 2002 +0000
+++ b/sys/ufs/mfs/mfs_vfsops.c  Thu Oct 24 16:41:00 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mfs_vfsops.c,v 1.41 2002/09/21 18:14:51 christos Exp $ */
+/*     $NetBSD: mfs_vfsops.c,v 1.42 2002/10/24 16:41:00 chs Exp $      */
 
 /*
  * Copyright (c) 1989, 1990, 1993, 1994
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mfs_vfsops.c,v 1.41 2002/09/21 18:14:51 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mfs_vfsops.c,v 1.42 2002/10/24 16:41:00 chs Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -264,8 +264,11 @@
         * the problem is that MFS needs to allocate pages to clean pages,
         * so if we wait until the last minute to clean pages then there
         * may not be any pages available to do the cleaning.
+        * ... and since the default partially-synchronous mode turns out
+        * to not be sufficient under heavy load, make it full synchronous.
         */
        mp->mnt_flag &= ~MNT_ASYNC;
+       mp->mnt_flag |= MNT_SYNCHRONOUS;
 
        error = copyin(data, (caddr_t)&args, sizeof (struct mfs_args));
        if (error)



Home | Main Index | Thread Index | Old Index