summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_trap.c
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2008-03-12 10:12:01 +0000
committerjeff <jeff@FreeBSD.org>2008-03-12 10:12:01 +0000
commitacb93d599cf9e4c7fc183f5568b740813472ff16 (patch)
treec3fbc6ec97828161d5fc648204b80efb7998da35 /sys/kern/subr_trap.c
parent72babed2a5bcb10d29075f3c1495c9aca3e0af60 (diff)
downloadFreeBSD-src-acb93d599cf9e4c7fc183f5568b740813472ff16.zip
FreeBSD-src-acb93d599cf9e4c7fc183f5568b740813472ff16.tar.gz
Remove kernel support for M:N threading.
While the KSE project was quite successful in bringing threading to FreeBSD, the M:N approach taken by the kse library was never developed to its full potential. Backwards compatibility will be provided via libmap.conf for dynamically linked binaries and static binaries will be broken.
Diffstat (limited to 'sys/kern/subr_trap.c')
-rw-r--r--sys/kern/subr_trap.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c
index d8168af..1701fba 100644
--- a/sys/kern/subr_trap.c
+++ b/sys/kern/subr_trap.c
@@ -119,15 +119,6 @@ userret(struct thread *td, struct trapframe *frame)
thread_suspend_check(0); /* Can suspend or kill */
PROC_UNLOCK(p);
}
-
-#ifdef KSE
- /*
- * Do special thread processing, e.g. upcall tweaking and such.
- */
- if (p->p_flag & P_SA)
- thread_userret(td, frame);
-#endif
-
/*
* Charge system time if profiling.
*/
@@ -135,7 +126,6 @@ userret(struct thread *td, struct trapframe *frame)
addupc_task(td, TRAPF_PC(frame), td->td_pticks * psratio);
}
-
/*
* Let the scheduler adjust our priority etc.
*/
@@ -173,11 +163,6 @@ ast(struct trapframe *framep)
td->td_frame = framep;
td->td_pticks = 0;
-#ifdef KSE
- if ((p->p_flag & P_SA) && (td->td_mailbox == NULL))
- thread_user_enter(td);
-#endif
-
/*
* This updates the td_flag's for the checks below in one
* "atomic" operation with turning off the astpending flag.
@@ -188,18 +173,11 @@ ast(struct trapframe *framep)
thread_lock(td);
flags = td->td_flags;
td->td_flags &= ~(TDF_ASTPENDING | TDF_NEEDSIGCHK |
- TDF_NEEDRESCHED | TDF_INTERRUPT | TDF_ALRMPEND | TDF_PROFPEND |
+ TDF_NEEDRESCHED | TDF_ALRMPEND | TDF_PROFPEND |
TDF_MACPEND);
thread_unlock(td);
PCPU_INC(cnt.v_trap);
- /*
- * XXXKSE While the fact that we owe a user profiling
- * tick is stored per thread in this code, the statistics
- * themselves are still stored per process.
- * This should probably change, by which I mean that
- * possibly the location of both might change.
- */
if (td->td_ucred != p->p_ucred)
cred_update_thread(td);
if (td->td_pflags & TDP_OWEUPC && p->p_flag & P_PROFIL) {
OpenPOWER on IntegriCloud