On Fri, Feb 23, 2018 at 02:59:11PM -0800, Don Lewis wrote: > On 23 Feb, Rick Macklem wrote: > > Konstantin Belousov wrote: > >>Author: kib > >>Date: Fri Feb 23 18:26:31 2018 > >>New Revision: 329875 > >>URL: https://svnweb.freebsd.org/changeset/base/329875 > >> > >>Log: > >> Restore UP build. > >> > >> Reviewed by: truckman > >> Sponsored by: The FreeBSD Foundation > >> > >>Modified: > >> head/sys/kern/sched_ule.c > >> > >>Modified: head/sys/kern/sched_ule.c > >>============================================================================== > >>--- head/sys/kern/sched_ule.c Fri Feb 23 18:18:42 2018 (r329874) > >>+++ head/sys/kern/sched_ule.c Fri Feb 23 18:26:31 2018 (r329875) > >>@@ -1864,6 +1864,7 @@ sched_lend_user_prio(struct thread *td, u_char prio) > >> td->td_flags |= TDF_NEEDRESCHED; > >> } > >> > >>+#ifdef SMP > >> /* > >> * This tdq is about to idle. Try to steal a thread from another CPU > >> before > >> * choosing the idle thread. > >>@@ -1945,6 +1946,7 @@ tdq_trysteal(struct tdq *tdq) > >> } > >> spinlock_exit(); > > >} > >>+#endif > >> > >> /* > >> * Handle migration from sched_switch(). This happens only for > >>@@ -2058,8 +2060,10 @@ sched_switch(struct thread *td, struct thread *newtd, > >> TDQ_LOCK(tdq); > >> mtx = thread_lock_block(td); > >> tdq_load_rem(tdq, td); > >>+#ifdef SMP > >> if (tdq->tdq_load == 0) > > Since the function isn't called for UP, should this "if" also check for > > ncpus > 1 by any chance? > > (I know nothing about ULE, so please ignore this if it doesn't make sense;-) > >> tdq_trysteal(tdq); > >>+#endif > >> } > >> > >> #if (KTR_COMPILE & KTR_SCHED) != 0 > > That would probably be a microoptimization. I think one of the tests at > the top of tdq_trysteal() will cause an immediate return. Basically > you'd be eliminating an extraneous function call in the path to > switching to the idle thread after you have already determined that you > don't have any work to do.
Yes, smp_started is zero on UP. _______________________________________________ firstname.lastname@example.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"