From nobody Thu May 25 01:51:26 2023 X-Original-To: freebsd-arm@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QRWHY6mz2z4CSWt for ; Thu, 25 May 2023 01:51:21 +0000 (UTC) (envelope-from fbsd@www.zefox.net) Received: from www.zefox.net (www.zefox.net [50.1.20.27]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "www.zefox.com", Issuer "www.zefox.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QRWHY39sLz3wWY for ; Thu, 25 May 2023 01:51:21 +0000 (UTC) (envelope-from fbsd@www.zefox.net) Authentication-Results: mx1.freebsd.org; none Received: from www.zefox.net (localhost [127.0.0.1]) by www.zefox.net (8.17.1/8.15.2) with ESMTPS id 34P1pRGW021503 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Wed, 24 May 2023 18:51:27 -0700 (PDT) (envelope-from fbsd@www.zefox.net) Received: (from fbsd@localhost) by www.zefox.net (8.17.1/8.15.2/Submit) id 34P1pRKP021502; Wed, 24 May 2023 18:51:27 -0700 (PDT) (envelope-from fbsd) Date: Wed, 24 May 2023 18:51:26 -0700 From: bob prohaska To: Mark Millard Cc: freebsd-arm Subject: Re: RPi3B -j4 vs. -j3 main [so: 14] from-scratch buildworld times for my context; buildkernel too; swap space usage and such Message-ID: References: <7758885B-3115-47F0-A453-1C010313D4B8@yahoo.com> <03F330A1-35E4-40D4-B9C6-407041BBEC58@yahoo.com> <7AA87E52-AB3D-48E4-B62A-EE73EBB23003@yahoo.com> <3C1F1156-F0CA-4958-B2D1-A28B2F2D36F5@yahoo.com> List-Id: Porting FreeBSD to ARM processors List-Archive: https://lists.freebsd.org/archives/freebsd-arm List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-arm@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 4QRWHY39sLz3wWY X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:7065, ipnet:50.1.16.0/20, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Wed, May 24, 2023 at 05:46:11PM -0700, Mark Millard wrote: > RPi3B -j4 vs. -j3 buildworld times for my context: > > World built in 120764 seconds, ncpu: 4, make -j4 [So a little under 33 hr 35 min] > World built in 115635 seconds, ncpu: 4, make -j3 [So a little under 32 hr 10 min] > [A delta of a little under 1hr 30min] > > So: -j4 buildworld spent more time waiting for its trashing of > the swap space than time it gained from having use of a 4th > core. The trashing is mostly during building of libllvm, libclang, > and liblldb. The RPi3B RAM subsystem can limit the gain from > having more cores active as well. > > > By contrast . . . > > RPi3B -j4 vs. -j3 buildkernel times for my context: > > Kernel(s) GENERIC-NODBG-CA53 built in 7836 seconds, ncpu: 4, make -j4 [So a little under 2 hr 15 min] > Kernel(s) GENERIC-NODBG-CA53 built in 8723 seconds, ncpu: 4, make -j3 [So a little under 2 hr 30 min] > [A delta of a little under 15 min] > > So: -j4 buildkernel spent less time waiting for its trashing of > the swap space than time it gained from having use of a 4th > core. (Not much thrashing occurred.) > > > And mem/swap usage info for buildworld+buildkernel . . . > > Overall -j4 vs -j3 buildworld buildkernel info for my context: > > -j4 Mem: . . ., 677688Ki MaxObsActive, 249652Ki MaxObsWired, 950032Ki MaxObs(Act+Wir+Lndry) > -j3 Mem: . . ., 683416Ki MaxObsActive, 315140Ki MaxObsWired, 927424Ki MaxObs(Act+Wir+Lndry) > > -j4 Swap: . . ., 1495Mi MaxObsUsed, 2117Mi MaxObs(Act+Lndry+SwapUsed), 2358Mi MaxObs(Act+Wir+Lndry+SwapUsed) > -j3 Swap: . . ., 1178Mi MaxObsUsed, 1811Mi MaxObs(Act+Lndry+SwapUsed), 2049Mi MaxObs(Act+Wir+Lndry+SwapUsed) > > > > FYI for the context: > make[1]: "/usr/main-src/Makefile.inc1" line 326: SYSTEM_COMPILER: Determined that CC=cc matches the source tree. Not bootstrapping a cross-compiler. > make[1]: "/usr/main-src/Makefile.inc1" line 331: SYSTEM_LINKER: Determined that LD=ld matches the source tree. Not bootstrapping a cross-linker. > > > Notes: > > Incremental buildworld's would depend on how much rebuilding of > libllvm, libclang, and liblldb would happen to occur. > > A system with 2 GiBytes of RAM would have far less trashing of > the swap space. A system with 4 GiBytes of RAM would not thrash > the swap space. The closest comparison I could make with 4 > GiBytes of RAM would be the Rock64 doing a from-scratch build. > It is also cortex-a53 based. As I remember, its RAM subsystem > does not limit multiple cores as easily/much. I've no access to > an analogous 2 GiByte context. > Would a DRAM-backed USB "drive" used only for swap help any? I don't think it's practical, but I'm curious in principle. Long ago I think folks actually made hardware consisting of dynamic RAM coupled to a disk interface, probably SCSI, to get around physical RAM limits on older computers. It's kinda silly for a Pi, and expensive. Thanks for writing! bob prohaska > === > Mark Millard > marklmi at yahoo.com > >