Source-Changes-HG archive

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

[src/trunk]: src/sys/kern Generate scheduling points around rump vnode operat...



details:   https://anonhg.NetBSD.org/src/rev/ccf98a11e55a
branches:  trunk
changeset: 748159:ccf98a11e55a
user:      pooka <pooka%NetBSD.org@localhost>
date:      Thu Oct 15 00:29:40 2009 +0000

description:
Generate scheduling points around rump vnode operations.

diffstat:

 sys/kern/vnode_if.sh |  9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diffs (37 lines):

diff -r 297b10003388 -r ccf98a11e55a sys/kern/vnode_if.sh
--- a/sys/kern/vnode_if.sh      Thu Oct 15 00:29:19 2009 +0000
+++ b/sys/kern/vnode_if.sh      Thu Oct 15 00:29:40 2009 +0000
@@ -29,7 +29,7 @@
  * SUCH DAMAGE.
  */
 "
-SCRIPT_ID='$NetBSD: vnode_if.sh,v 1.52 2009/09/29 11:51:02 pooka Exp $'
+SCRIPT_ID='$NetBSD: vnode_if.sh,v 1.53 2009/10/15 00:29:40 pooka Exp $'
 
 # Script to produce VFS front-end sugar.
 #
@@ -294,7 +294,8 @@
 #include <sys/buf.h>
 #include <sys/vnode.h>
 #include <sys/lock.h>'
-[ ! -z "${rump}" ] && echo '#include <rump/rumpvnode_if.h>'
+[ ! -z "${rump}" ] && echo '#include <rump/rumpvnode_if.h>'            \
+       && echo '#include "rump_private.h"'
 
 echo "
 const struct vnodeop_desc ${rump}vop_default_desc = {"
@@ -402,10 +403,14 @@
                }
        }
        printf("\tmpsafe = (%s%s->v_vflag & VV_MPSAFE);\n", argname[0], arg0special);
+       if (rump)
+               printf("\trump_schedule();\n");
        printf("\tif (!mpsafe) { KERNEL_LOCK(1, curlwp); }\n");
        printf("\terror = (VCALL(%s%s, VOFFSET(%s), &a));\n",
                argname[0], arg0special, name);
        printf("\tif (!mpsafe) { KERNEL_UNLOCK_ONE(curlwp); }\n");
+       if (rump)
+               printf("\trump_unschedule();\n");
        if (willmake != -1) {
                printf("#ifdef DIAGNOSTIC\n");
                printf("\tif (error == 0)\n"                            \



Home | Main Index | Thread Index | Old Index