Module Name: src Committed By: pooka Date: Thu Oct 15 00:29:40 UTC 2009
Modified Files: src/sys/kern: vnode_if.sh Log Message: Generate scheduling points around rump vnode operations. To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 src/sys/kern/vnode_if.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/vnode_if.sh diff -u src/sys/kern/vnode_if.sh:1.52 src/sys/kern/vnode_if.sh:1.53 --- src/sys/kern/vnode_if.sh:1.52 Tue Sep 29 11:51:02 2009 +++ src/sys/kern/vnode_if.sh Thu Oct 15 00:29:40 2009 @@ -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" \