Re: Periodic rant about SCHED_ULE

From: Mark Millard <marklmi_at_yahoo.com>
Date: Wed, 22 Mar 2023 19:21:31 UTC
George Mitchell <george+freebsd@m5p.com> wrote on
Date: Wed, 22 Mar 2023 17:36:39 UTC :

> On 3/22/23 13:09, Mark Millard wrote:
> > On Mar 22, 2023, at 09:48, Steve Kargl <sgk@troutmask.apl.washington.edu> wrote:
> > [...]
> > That still leaves me trying to figure out an accurate
> > way to reproduce all the steps to have a comparable
> > way to see for myself.
> > [...]
> 
> Here are the very complicated instructions for reproducing the problem:
> 1. Install and start misc/dnetc from ports.

Installing is likely easy, as likely would be building
with default options (if any). I know nothing about
starting misc/dnetc so that is research. (Possibly
trivial, although if it has alternatives to control
then I'd need to match that context too.)

> 2. Run "make buildworld".

So on the 32 hardware-thread (16 cores) amd64 machine that
I have access to, the test is to only have buildworld use
about one hardware thread, no matter what else is going on.
I never would have guessed that the steps would not involve
more like -j$(sysctl -n hw.ncpu) (so around -j32 in this
context). So it is good that you provided your note or
I'd not know if I'd done similarly or not when trying such.

[Note: -j1 and lack of -j are not strictly equivalent in
how make operates. As I remember, the distinction makes
a notable difference in the number of subprocesses created
directly by make (one per action "line" vs. one for the
whole block?). So even using -j1 might make a difference
vs. what you specified. I'd have to test to see.]

> Standard out conveniently reports how long it took (wall clock).

But nothing in your instructions indicate about how
to get an idea much progress dnetc made during the
various tests? I do not want to ignore dnetc progress
as well (or I'd just not run such at all in a realistic
situation of wanting to have the  machine doing the 2
things in overlapping time frames). I'd be looking at
the relationship between the progress for each of the 2
activities.

FYI: I've never built with and run the alternate
scheduler so if there is any appropriate background
for that that would not be obvious on finding basic
instructions, it would be appropriate to provide
such notes.

===
Mark Millard
marklmi at yahoo.com