svn commit: r285243 - head/sys/kern
Pedro F. Giffuni
pfg at FreeBSD.org
Tue Jul 7 15:22:30 UTC 2015
Author: pfg
Date: Tue Jul 7 15:22:29 2015
New Revision: 285243
URL: https://svnweb.freebsd.org/changeset/base/285243
Log:
Relocate sched_random() within the SMP section.
Place sched_random nearer to where it's first used: moving the
code nearer to where it is used makes the code easier to read
and we can reduce the initial "#ifdef SMP" island.
Reword a little the comment and clean some whitespaces
while here.
Modified:
head/sys/kern/sched_ule.c
Modified: head/sys/kern/sched_ule.c
==============================================================================
--- head/sys/kern/sched_ule.c Tue Jul 7 13:17:02 2015 (r285242)
+++ head/sys/kern/sched_ule.c Tue Jul 7 15:22:29 2015 (r285243)
@@ -356,26 +356,6 @@ SDT_PROBE_DEFINE(sched, , , remain__cpu)
SDT_PROBE_DEFINE2(sched, , , surrender, "struct thread *",
"struct proc *");
-#ifdef SMP
-/*
- * We need some randomness. Implement the classic Linear Congruential
- * generator X_{n+1}=(aX_n+c) mod m. These values are optimized for
- * m = 2^32, a = 69069 and c = 5. We only return the upper 16 bits
- * of the random state (in the low bits of our answer) to return
- * the maximum randomness.
- */
-static uint32_t
-sched_random(void)
-{
- uint32_t *rndptr;
-
- rndptr = DPCPU_PTR(randomval);
- *rndptr = *rndptr * 69069 + 5;
-
- return (*rndptr >> 16);
-}
-#endif
-
/*
* Print the threads waiting on a run-queue.
*/
@@ -625,6 +605,24 @@ tdq_setlowpri(struct tdq *tdq, struct th
}
#ifdef SMP
+/*
+ * We need some randomness. Implement a classic Linear Congruential
+ * Generator X_{n+1}=(aX_n+c) mod m. These values are optimized for
+ * m = 2^32, a = 69069 and c = 5. We only return the upper 16 bits
+ * of the random state (in the low bits of our answer) to keep
+ * the maximum randomness.
+ */
+static uint32_t
+sched_random(void)
+{
+ uint32_t *rndptr;
+
+ rndptr = DPCPU_PTR(randomval);
+ *rndptr = *rndptr * 69069 + 5;
+
+ return (*rndptr >> 16);
+}
+
struct cpu_search {
cpuset_t cs_mask;
u_int cs_prefer;
More information about the svn-src-all
mailing list