summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2003-11-06 03:09:51 +0000
committerjeff <jeff@FreeBSD.org>2003-11-06 03:09:51 +0000
commite150e86d4b330ca1b7ec95e742e4555f84eb9c16 (patch)
treedf3e731ef6002597cd518e7d5c2ecbb2ac9e71cf /sys/kern
parentf5b5faded511289de95043e76b5a4794b2c5213e (diff)
downloadFreeBSD-src-e150e86d4b330ca1b7ec95e742e4555f84eb9c16.zip
FreeBSD-src-e150e86d4b330ca1b7ec95e742e4555f84eb9c16.tar.gz
- Remove the local definition of sched_pin and unpin. They are provided in
sched.h now. - Respect the td pin count.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/sched_ule.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c
index 545fa4a..852462e 100644
--- a/sys/kern/sched_ule.c
+++ b/sys/kern/sched_ule.c
@@ -106,8 +106,7 @@ struct ke_sched {
#define ke_assign ke_procq.tqe_next
#define KEF_ASSIGNED KEF_SCHED0 /* KSE is being migrated. */
-#define KEF_PINNED KEF_SCHED1 /* KSE is temporarily bound. */
-#define KEF_BOUND KEF_SCHED2 /* KSE can not migrate. */
+#define KEF_BOUND KEF_SCHED1 /* KSE can not migrate. */
struct kg_sched {
int skg_slptime; /* Number of ticks we vol. slept */
@@ -267,7 +266,8 @@ static void kseq_notify(struct kse *ke, int cpu);
static void kseq_assign(struct kseq *);
static struct kse *kseq_steal(struct kseq *kseq);
#define KSE_CAN_MIGRATE(ke, class) \
- ((class) != PRI_ITHD && ((ke)->ke_flags & (KEF_BOUND|KEF_PINNED)) == 0)
+ ((class) != PRI_ITHD && (ke)->ke_thread->td_pinned == 0 && \
+ (ke)->ke_flags & KEF_BOUND) == 0)
#endif
void
@@ -1468,20 +1468,6 @@ sched_pctcpu(struct thread *td)
}
void
-sched_pin(struct thread *td)
-{
- mtx_assert(&sched_lock, MA_OWNED);
- td->td_kse->ke_flags |= KEF_PINNED;
-}
-
-void
-sched_unpin(struct thread *td)
-{
- mtx_assert(&sched_lock, MA_OWNED);
- td->td_kse->ke_flags &= ~KEF_PINNED;
-}
-
-void
sched_bind(struct thread *td, int cpu)
{
struct kse *ke;
OpenPOWER on IntegriCloud