summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/cpu.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-01-24 09:56:49 +0000
committerjhb <jhb@FreeBSD.org>2001-01-24 09:56:49 +0000
commit409b74b6093312ab6d045e056e3882357c93cdfa (patch)
tree10d2b212925b062d8cf965178df4b0a304fb6032 /sys/amd64/include/cpu.h
parent39d78f319603b006862e79ef6d1fb7c91ee6e66a (diff)
downloadFreeBSD-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/include/cpu.h')
-rw-r--r--sys/amd64/include/cpu.h11
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;
OpenPOWER on IntegriCloud