summaryrefslogtreecommitdiffstats
path: root/sys/kern/sched_ule.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/sched_ule.c')
-rw-r--r--sys/kern/sched_ule.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c
index 03904ef..24ae5b2 100644
--- a/sys/kern/sched_ule.c
+++ b/sys/kern/sched_ule.c
@@ -112,7 +112,7 @@ struct kse {
KES_ONRUNQ
} ke_state; /* (j) thread sched specific status. */
int ke_slptime;
- int ke_pinned;
+ int ke_pinned; /* (k) nested coult.. pinned to a cpu */
int ke_slice;
struct runq *ke_runq;
u_char ke_cpu; /* CPU that we have affinity for. */
@@ -1902,5 +1902,26 @@ sched_sizeof_thread(void)
{
return (sizeof(struct thread) + sizeof(struct td_sched));
}
+
+void
+sched_pin(void)
+{
+ curthread->td_sched->ke_pinned++;
+}
+
+ void
+sched_unpin(void)
+{
+ curthread->td_sched->td_pinned--;
+}
+
+#ifdef INVARIANTS
+int
+sched_ispinned(void)
+{
+ return (curthread->td_sched->ke_pinned);
+}
+#endif
+
#define KERN_SWITCH_INCLUDE 1
#include "kern/kern_switch.c"
OpenPOWER on IntegriCloud