Move td_softdep_cleanup() from userret() to ast(); it's infrequent
at best. The schedule_cleanup() function already sets TDF_ASTPENDING. Reviewed by: kib, mckusick Tested by: pho MFC after: 2 weeks Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D26375
This commit is contained in:
parent
60f083efe2
commit
fecb19e431
@ -134,9 +134,6 @@ userret(struct thread *td, struct trapframe *frame)
|
||||
KTRUSERRET(td);
|
||||
#endif
|
||||
|
||||
td_softdep_cleanup(td);
|
||||
MPASS(td->td_su == NULL);
|
||||
|
||||
/*
|
||||
* Charge system time if profiling.
|
||||
*/
|
||||
@ -188,8 +185,6 @@ userret(struct thread *td, struct trapframe *frame)
|
||||
("userret: Returning with preallocated vnode"));
|
||||
KASSERT((td->td_flags & (TDF_SBDRY | TDF_SEINTR | TDF_SERESTART)) == 0,
|
||||
("userret: Returning with stop signals deferred"));
|
||||
KASSERT(td->td_su == NULL,
|
||||
("userret: Returning with SU cleanup request not handled"));
|
||||
KASSERT(td->td_vslock_sz == 0,
|
||||
("userret: Returning with vslock-wired space"));
|
||||
#ifdef VIMAGE
|
||||
@ -279,6 +274,9 @@ ast(struct trapframe *framep)
|
||||
#endif
|
||||
}
|
||||
|
||||
td_softdep_cleanup(td);
|
||||
MPASS(td->td_su == NULL);
|
||||
|
||||
/*
|
||||
* If this thread tickled GEOM, we need to wait for the giggling to
|
||||
* stop before we return to userland
|
||||
|
Loading…
x
Reference in New Issue
Block a user