On 14/11/19(Thu) 17:30, Lauri Tirkkonen wrote:
> [...] 
> The first test I made was on a beefy virtual machine under Hyper-V,
> with 32 vCPUs on a Threadripper 2950X. With and without this patch (and
> the followup for share/mk), I did make -j32 -C /usr/src/usr.bin. The
> results were very disappointing: with my patches the build was *slower*
> even though it used way more CPU. I think 'top' said it best:
> 
> 32  CPUs:  0.1% user,  0.0% nice,  3.9% sys, 95.4% spin,  0.0% intr, 0.7% idle
>                                              ^^^^^^^^^^

I'd suggest considering the %user time when working on a userland tool.
A high %spin time indicates that syscalls and page faults are spending
a lot of time busy waiting on the KERNEL_LOCK().

In other words you're exposing the non-scalability of OpenBSD on such
machine.  I'd suggest you use less jobs, I'd try 8 or 12 as a first step.

You can also write Makefiles that expose less the limitation of the
system.  ktrace(1) is your friend for that.

Reply via email to