Deleted Added
full compact
38c38
< * $FreeBSD: head/sys/kern/subr_trap.c 82585 2001-08-30 18:50:57Z dillon $
---
> * $FreeBSD: head/sys/kern/subr_trap.c 83366 2001-09-12 08:38:13Z julian $
65,66c65,66
< userret(p, frame, oticks)
< struct proc *p;
---
> userret(td, frame, oticks)
> struct thread *td;
69a70,72
> struct proc *p = td->td_proc;
> struct kse *ke = td->td_kse;
> struct ksegrp *kg = td->td_ksegrp;
80,81c83,84
< p->p_pri.pri_level = p->p_pri.pri_user;
< if (p->p_sflag & PS_NEEDRESCHED) {
---
> kg->kg_pri.pri_level = kg->kg_pri.pri_user;
> if (ke->ke_flags & KEF_NEEDRESCHED) {
91c94
< setrunqueue(p);
---
> setrunqueue(td);
108,110c111,114
< if (p->p_sflag & PS_PROFIL)
< addupc_task(p, TRAPF_PC(frame),
< ((u_int)p->p_sticks - oticks) * psratio);
---
> if (p->p_sflag & PS_PROFIL) {
> addupc_task(ke, TRAPF_PC(frame),
> (u_int)(ke->ke_sticks - oticks) * psratio);
> }
122c126,128
< struct proc *p = CURPROC;
---
> struct thread *td = curthread;
> struct proc *p = td->td_proc;
> struct kse *ke = td->td_kse;
125a132
> int flags;
132c139
< if (witness_list(p))
---
> if (witness_list(td))
137c144
< while ((p->p_sflag & (PS_ASTPENDING | PS_NEEDRESCHED)) != 0) {
---
> while ((ke->ke_flags & (KEF_ASTPENDING | KEF_NEEDRESCHED)) != 0) {
139c146
< p->p_frame = framep;
---
> td->td_frame = framep;
145a153
> * XXXKSE Can't do it atomically in KSE
148c156
< sticks = p->p_sticks;
---
> sticks = ke->ke_sticks;
150,151c158,160
< p->p_sflag &= ~(PS_OWEUPC | PS_ALRMPEND | PS_PROFPEND |
< PS_ASTPENDING);
---
> flags = ke->ke_flags;
> p->p_sflag &= ~(PS_PROFPEND | PS_ALRMPEND);
> ke->ke_flags &= ~(KEF_OWEUPC | KEF_ASTPENDING);
153c162
< if (sflag & PS_OWEUPC) {
---
> if (flags & KEF_OWEUPC) {
157c166
< addupc_task(p, p->p_stats->p_prof.pr_addr, prticks);
---
> addupc_task(ke, p->p_stats->p_prof.pr_addr, prticks);
181c190
< userret(p, framep, sticks);
---
> userret(td, framep, sticks);