svn commit: r357081 - head/sys/kern

Mark Johnston markj at FreeBSD.org
Fri Jan 24 14:58:02 UTC 2020


Author: markj
Date: Fri Jan 24 14:58:02 2020
New Revision: 357081
URL: https://svnweb.freebsd.org/changeset/base/357081

Log:
  Revert r357050.
  
  It seems to have introduced a couple of regressions.
  
  Reported by:	cy, pho

Modified:
  head/sys/kern/sched_ule.c

Modified: head/sys/kern/sched_ule.c
==============================================================================
--- head/sys/kern/sched_ule.c	Fri Jan 24 14:41:51 2020	(r357080)
+++ head/sys/kern/sched_ule.c	Fri Jan 24 14:58:02 2020	(r357081)
@@ -2121,7 +2121,6 @@ sched_switch(struct thread *td, int flags)
 	 */
 	TDQ_LOCK_ASSERT(tdq, MA_OWNED | MA_NOTRECURSED);
 	newtd = choosethread();
-	newtd->td_oncpu = cpuid;
 	sched_pctcpu_update(td_get_sched(newtd), 0);
 	TDQ_UNLOCK(tdq);
 
@@ -2146,6 +2145,7 @@ sched_switch(struct thread *td, int flags)
 #endif
 		td->td_oncpu = NOCPU;
 		cpu_switch(td, newtd, mtx);
+		cpuid = td->td_oncpu = PCPU_GET(cpuid);
 
 		SDT_PROBE0(sched, , , on__cpu);
 #ifdef	HWPMC_HOOKS
@@ -2915,7 +2915,6 @@ sched_throw(struct thread *td)
 		thread_lock_block(td);
 	}
 	newtd = choosethread();
-	newtd->td_oncpu = PCPU_GET(cpuid);
 	spinlock_enter();
 	TDQ_UNLOCK(tdq);
 	KASSERT(curthread->td_md.md_spinlock_count == 1,


More information about the svn-src-all mailing list