diff options
author | jeff <jeff@FreeBSD.org> | 2003-11-06 03:09:51 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2003-11-06 03:09:51 +0000 |
commit | e150e86d4b330ca1b7ec95e742e4555f84eb9c16 (patch) | |
tree | df3e731ef6002597cd518e7d5c2ecbb2ac9e71cf /sys/kern | |
parent | f5b5faded511289de95043e76b5a4794b2c5213e (diff) | |
download | FreeBSD-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.c | 20 |
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; |