diff options
author | jhb <jhb@FreeBSD.org> | 2001-01-24 09:56:49 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-01-24 09:56:49 +0000 |
commit | 409b74b6093312ab6d045e056e3882357c93cdfa (patch) | |
tree | 10d2b212925b062d8cf965178df4b0a304fb6032 /sys/amd64 | |
parent | 39d78f319603b006862e79ef6d1fb7c91ee6e66a (diff) | |
download | FreeBSD-src-409b74b6093312ab6d045e056e3882357c93cdfa.zip FreeBSD-src-409b74b6093312ab6d045e056e3882357c93cdfa.tar.gz |
- Proc locking.
- P_OWEUPC -> PS_OWEUPC.
- Remove obsolete prototype for MD fork_return().
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/include/cpu.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/amd64/include/cpu.h b/sys/amd64/include/cpu.h index 87c47c5..a1d47f0 100644 --- a/sys/amd64/include/cpu.h +++ b/sys/amd64/include/cpu.h @@ -88,11 +88,15 @@ * Arrange to handle pending profiling ticks before returning to user mode. * * XXX this is now poorly named and implemented. It used to handle only a - * single tick and the P_OWEUPC flag served as a counter. Now there is a + * single tick and the PS_OWEUPC flag served as a counter. Now there is a * counter in the proc table and flag isn't really necessary. */ -#define need_proftick(p) \ - do { (p)->p_flag |= P_OWEUPC; aston(); } while (0) +#define need_proftick(p) do { \ + mtx_enter(&sched_lock, MTX_SPIN); \ + (p)->p_sflag |= PS_OWEUPC; \ + mtx_exit(&sched_lock, MTX_SPIN); \ + aston(); \ +} while (0) /* * Notify the current process (p) that it has a signal pending, @@ -133,7 +137,6 @@ extern char btext[]; extern char etext[]; void fork_trampoline __P((void)); -void fork_return __P((struct proc *, struct trapframe)); #if defined(I386_CPU) || defined(I486_CPU) extern u_int tsc_present; |