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().
This commit is contained in:
parent
80c07b6665
commit
037d027c92
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=13017
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user