<dec f='src/src/sys/sys/resourcevar.h' l='106' type='void addupc_intr(struct lwp * , u_long )'/>
<use f='src/src/sys/kern/kern_clock.c' l='398' u='c' c='statclock'/>
<use f='src/src/sys/kern/kern_clock.c' l='430' u='c' c='statclock'/>
<def f='src/src/sys/kern/subr_prof.c' l='267' ll='294' type='void addupc_intr(struct lwp * l, u_long pc)'/>
<doc f='src/src/sys/kern/subr_prof.c' l='254'>/*
 * Collect user-level profiling statistics; called on a profiling tick,
 * when a process is running in user-mode.  This routine may be called
 * from an interrupt context.  We try to update the user profiling buffers
 * cheaply with fuswintr() and suswintr().  If that fails, we revert to
 * an AST that will vector us to trap() with a context in which copyin
 * and copyout will work.  Trap will then call addupc_task().
 *
 * Note that we may (rarely) not get around to the AST soon enough, and
 * lose profile ticks when the next tick overwrites this one, but in this
 * case the system is overloaded and the profile is probably already
 * inaccurate.
 */</doc>
