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.
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to