svn commit: r262012 - stable/8/sys/kern

Mark Johnston markj at FreeBSD.org
Mon Feb 17 05:06:44 UTC 2014


Author: markj
Date: Mon Feb 17 05:06:43 2014
New Revision: 262012
URL: http://svnweb.freebsd.org/changeset/base/262012

Log:
  MFC r249514 (by gnn):
  Point args[0] not at the thread that is ending but at the one that
  is starting.  This is in line with practice in OpenSolaris.
  
  Note that this change is only in ULE and not in the 4BSD scheduler.
  Once this change settles in (MFC timeout has expired) we'll try it out
  on 4BSD as well.
  
  MFC r260043:
  The arguments to sched:::off-cpu are the thread and associated process of
  the thread selected to run, not the currently running thread.

Modified:
  stable/8/sys/kern/sched_4bsd.c
  stable/8/sys/kern/sched_ule.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/kern/   (props changed)

Modified: stable/8/sys/kern/sched_4bsd.c
==============================================================================
--- stable/8/sys/kern/sched_4bsd.c	Mon Feb 17 03:24:00 2014	(r262011)
+++ stable/8/sys/kern/sched_4bsd.c	Mon Feb 17 05:06:43 2014	(r262012)
@@ -1055,7 +1055,7 @@ sched_switch(struct thread *td, struct t
 			PMC_SWITCH_CONTEXT(td, PMC_FN_CSW_OUT);
 #endif
 
-		SDT_PROBE2(sched, , , off_cpu, td, td->td_proc);
+		SDT_PROBE2(sched, , , off_cpu, newtd, newtd->td_proc);
 
                 /* I feel sleepy */
 		lock_profile_release_lock(&sched_lock.lock_object);

Modified: stable/8/sys/kern/sched_ule.c
==============================================================================
--- stable/8/sys/kern/sched_ule.c	Mon Feb 17 03:24:00 2014	(r262011)
+++ stable/8/sys/kern/sched_ule.c	Mon Feb 17 05:06:43 2014	(r262012)
@@ -1909,7 +1909,7 @@ sched_switch(struct thread *td, struct t
 		if (PMC_PROC_IS_USING_PMCS(td->td_proc))
 			PMC_SWITCH_CONTEXT(td, PMC_FN_CSW_OUT);
 #endif
-		SDT_PROBE2(sched, , , off_cpu, td, td->td_proc);
+		SDT_PROBE2(sched, , , off_cpu, newtd, newtd->td_proc);
 		lock_profile_release_lock(&TDQ_LOCKPTR(tdq)->lock_object);
 		TDQ_LOCKPTR(tdq)->mtx_lock = (uintptr_t)newtd;
 


More information about the svn-src-all mailing list