Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Mar 2023 15:40:53 -0400
From:      George Mitchell <george+freebsd@m5p.com>
To:        Mark Millard <marklmi@yahoo.com>, FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: Periodic rant about SCHED_ULE
Message-ID:  <952d9795-19dc-8ad1-bb75-5c556ca6795a@m5p.com>
In-Reply-To: <6BD317F2-7EDD-45C0-9DC9-5B94C1BBB8E1@yahoo.com>
References:  <6BD317F2-7EDD-45C0-9DC9-5B94C1BBB8E1.ref@yahoo.com> <6BD317F2-7EDD-45C0-9DC9-5B94C1BBB8E1@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 3/22/23 15:21, Mark Millard wrote:
> George Mitchell <george+freebsd@m5p.com> wrote on
> Date: Wed, 22 Mar 2023 17:36:39 UTC :
> [...]
>> 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.)

service dnetc start

> 
>> 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.]

I am literally running "make buildworld" with no additional options.

> 
>> 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? [...]

Honestly, I've never worried about this part.  But dnetc logs its
progress in /usr/local/distributed.net/dnetc.txt, though not in terms
that are easy to relate to real-world progress.  Oddly, when I run
"make buildworld," I'm primarily interested in getting the world built.
Perhaps others feel differently.

> [...]
> 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.
> [...]

You have to build a new kernel, using a config file in which you have
replaced "options SCHED_ULE" with "options SCHED_4BSD".     -- George




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?952d9795-19dc-8ad1-bb75-5c556ca6795a>