diff options
author | bde <bde@FreeBSD.org> | 1995-12-26 01:21:39 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1995-12-26 01:21:39 +0000 |
commit | b5a75e1d63da02d6e929d5917307022bdb4f292a (patch) | |
tree | c78fb4d2e9053f42e96a281f499b727dea990d90 /sys/kern/subr_prof.c | |
parent | 31a03a6e78d434ddf52014eae5951ef5eaa22e4a (diff) | |
download | FreeBSD-src-b5a75e1d63da02d6e929d5917307022bdb4f292a.zip FreeBSD-src-b5a75e1d63da02d6e929d5917307022bdb4f292a.tar.gz |
Unstaticized addupc_task(). It is supposed to be called from trap().
See the comments for addupc_intr() and the NetBSD implementation.
We use dummy versions of fuswintr() and susiwintr(), so addupc_intr()
always pushes the work to trap() (this is inefficient), and trap()
calls the special i386 function addupc() instead of addupc_task().
addupc() is more efficient than addupc_intr(), so some of the lost
efficiency is recovered. However, addupc() may be broken on plain
i386's since it doesn't check for write permission like copyout().
Diffstat (limited to 'sys/kern/subr_prof.c')
-rw-r--r-- | sys/kern/subr_prof.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/subr_prof.c b/sys/kern/subr_prof.c index c209049..b9c1ae2 100644 --- a/sys/kern/subr_prof.c +++ b/sys/kern/subr_prof.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)subr_prof.c 8.3 (Berkeley) 9/23/93 - * $Id: subr_prof.c,v 1.13 1995/12/06 23:37:15 bde Exp $ + * $Id: subr_prof.c,v 1.14 1995/12/14 08:31:44 phk Exp $ */ #include <sys/param.h> @@ -235,7 +235,7 @@ addupc_intr(p, pc, ticks) * Much like before, but we can afford to take faults here. If the * update fails, we simply turn off profiling. */ -static void +void addupc_task(p, pc, ticks) register struct proc *p; register u_long pc; |