Date: Fri, 26 Mar 2021 20:04:32 -0700 From: Mark Millard <marklmi@yahoo.com> To: tech-lists <tech-lists@zyxst.net> Cc: freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: RPi and powerd, was: Re: RPI4 clock speeds and serial port ( temperatures idle and -j4 buildworld buildkernel ) Message-ID: <E617BDA8-5D37-4721-A960-F4158B03AD19@yahoo.com> In-Reply-To: <40F7B200-23D8-4E9B-9FF7-77015241A218@yahoo.com> References: <FDBC2E89-8473-4C3A-B12E-78821949FDDB@yahoo.com> <20210320005302.GA40542@www.zefox.net> <81CB0CCA-59AC-49A2-9372-4E2C22E3214D@googlemail.com> <20210320155638.GA41617@www.zefox.net> <63E61033-667C-4A08-9012-7D987B652176@yahoo.com> <20210320182821.GA49050@www.zefox.net> <AD8A445A-DF90-4525-8042-EA2A667558FE@yahoo.com> <5BF4DC26-8CCC-48E8-802F-34C42084D47F@yahoo.com> <20210321181339.GA56351@www.zefox.net> <01787975-3D1A-4D28-8F0F-957D6842D487@googlemail.com> <YFnzio4lC/D7ffFh@ceres.zyxst.net> <59B618B3-7AC9-41DF-9807-173DE34B0F8D@yahoo.com> <EA000404-7CDC-4D2A-B0C6-3D6BAC599406@yahoo.com> <70CED341-5638-49EE-A32D-2BD0AC22687C@yahoo.com> <C7115179-7D5B-4F7E-8B81-83A35110E35E@yahoo.com> <CDE1E924-4EBC-405D-ABC9-C59894B00151@yahoo.com> <B6F80E00-4E50-4921-923A-876B075A63B3@yahoo.com> <1B9C90A7-5F37-41AC-8314-3E7C11B12B00@yahoo.com> <40F7B200-23D8-4E9B-9FF7-77015241A218@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Mar-26, at 13:00, Mark Millard <marklmi at yahoo.com> wrote: > On 2021-Mar-26, at 01:33, Mark Millard <marklmi at yahoo.com> wrote: >=20 >> On 2021-Mar-25, at 18:18, Mark Millard <marklmi at yahoo.com> wrote: >>=20 >>> [Eliminating bad history and replacing with test >>> information from corrected context, just -j6 for >>> now.] >>>=20 >>> On 2021-Mar-25, at 10:59, Mark Millard <marklmi at yahoo.com> wrote: >>>=20 >>>> [Turns out I somehow ended up with /etc/rc.conf not edited >>>> to enable powerd : that is what I found when I went back >>>> to disable it. Now I get to re-run the tests.] >>>>=20 >>>> On 2021-Mar-25, at 10:23, Mark Millard <marklmi at yahoo.com> = wrote: >>>>=20 >>>>> On 2021-Mar-24, at 14:13, Mark Millard <marklmi at yahoo.com> = wrote: >>>>>=20 >>>>>> On 2021-Mar-23, at 16:15, Mark Millard <marklmi at yahoo.com> = wrote: >>>>>>=20 >>>>>>> On 2021-Mar-23, at 12:57, Mark Millard <marklmi at yahoo.com> = wrote: >>>>>>>>=20 >>>>>>>>=20 >>>>>>>> On 2021-Mar-23, at 06:56, tech-lists <tech-lists at zyxst.net> = wrote: >>>>>>>>=20 >>>>>>>>> Hi, >>>>>>>>>=20 >>>>>>>>> latest build run: >>>>>>>>=20 >>>>>>>> Had a -mcpu=3Dcortext-a72 world and kernel been >>>>>>>> installed and booted first? Was the system >>>>>>>> running a world and kernel that had not been >>>>>>>> tuned for the Cortex-A72? >>>>>>>=20 >>>>>>> I've started an experimental build in my >>>>>>> -mcpu=3Dcortex-a72 tuned context . . . >>>>>>>=20 >>>>>>>>>>>> World built in 22976 seconds, ncpu: 4, make -j6 >>>>>>>>> -------------------------------------------------------------- >>>>>>>>>=20 >>>>>>>>> 6 Hours : 22 Minutes : 56 Seconds >>>>>>>>>=20 >>>>>>>>> created kernel.bin from kernel.full >>>>>>>>> -------------------------------------------------------------- >>>>>>>>>>>> Kernel build for GENERIC-NODEBUG completed on Mon Mar 22 = 13:54:53 >>>>>>>>>>>> UTC 2021 >>>>>>>>> -------------------------------------------------------------- >>>>>>>>>>>> Kernel(s) GENERIC-NODEBUG built in 2086 seconds, ncpu: 4, = make -j6 >>>>>>>>> -------------------------------------------------------------- >>>>>>>>>=20 >>>>>>>>> 0 Hours : 34 Minutes : 46 Seconds >>>=20 >>> Based on the later results reported, I get a build that >>> takes a little less time for buildworld+buildkernel, a >>> build that does not involve devel/ccache . >>>=20 >>> So it could be that devel/cache had an empty cache for >>> your build for all I can tell from the timing information. >>>=20 >>>>>>>>> commands used: >>>>>>>>> 1. cd /usr/src >>>>>>>>> 2. git pull --ff-only >>>>>>>=20 >>>>>>> I'm simply from-scratch rebuilding what I'm >>>>>>> already running, based on main 7381bbee29df from >>>>>>> 2021-03-12: >>>>>>>=20 >>>>>>> # ~/fbsd-based-on-what-freebsd-main.sh=20 >>>>>>> merge-base: 7381bbee29df959e88ec59866cf2878263e7f3b2 >>>>>>> merge-base: CommitDate: 2021-03-12 20:29:42 +0000 >>>>>>> def0058cc690 (HEAD -> mm-src) mm-src snapshot for mm's patched = build in git context. >>>>>>> 7381bbee29df (freebsd/main, freebsd/HEAD, pure-src, main) cam: = Run all XPT_ASYNC ccbs in a dedicated thread >>>>>>> FreeBSD RPi4B 14.0-CURRENT FreeBSD 14.0-CURRENT = mm-src-n245445-def0058cc690 GENERIC-NODBG arm64 aarch64 1400005 1400005 >>>>>>>=20 >>>>>>>>> 3. make -j10 cleanworld >>>>>>>>> 4. make -j10 cleandir >>>>>>>>> 5. make -j10 clean >>>>>>>=20 >>>>>>> My /usr/obj/cortexA72_clang/ was empty at the >>>>>>> start of the buildworld buildkernel . >>>>>>> devel/ccache is still not installed. >>>>>>>=20 >>>>>>>> This does not show ccache being cleared out >>>>>>>> before the below. So the times may be examples >>>>>>>> of "with ccache benefit" times. The contrast >>>>>>>> with mine and Bob P.'s times suggests a >>>>>>>> nice time-benefit can occur. >>>>>>>>=20 >>>>>>>>> 6. make -j6 buildworld >>>>>>>>> 7. make -j6 buildkernel >>>>>>>=20 >>>>>>> I'm using "-j6 buildworld buildkernel". >>>>>>>=20 >>>>>>>>> here's the src.conf : >>>>>>>>> https://cloud.zyxst.net/~john/FreeBSD/rpi4-main/src.conf >>>>>>>=20 >>>>>>> I'm using my normal src.conf equivalent, not >>>>>>> yours. (So the experiment is comparable to my >>>>>>> normal past experiments in this respect, matching >>>>>>> what I've reported in the past.) >>>>>>>=20 >>>>>>>> I seem to get intermittent access to >>>>>>>> https://cloud.zyxst.net/ but got to >>>>>>>> see the file content eventually. >>>>>>>>=20 >>>>>>>>> relevant rc.conf settings: >>>>>>>>> powerd_enable=3D"YES" >>>>>>>>> powerd_flags=3D"-r 1" >>>>>>>=20 >>>>>>> I commented out the config.txt line that assigned >>>>>>> arm_freq_min and the /etc/sysctl/conf line that >>>>>>> assigned an arm frequency. >>>>=20 >>>> I get to retry, attempting to actually do what I said >>>> I'd done for powerd enabling . . . I've rebooted and >>>> verified powerd now shows with the appropriate command >>>> line in top. So I've cleared things out in >>>> /usr/obj/cortexA72_clang/ and started a -j6 experiment >>>> as the first one. >>>>=20 >>>>>>> I put the 2 powerd_* lines above in my /etc/rc.conf . >>>>>>>=20 >>>>>>>>> sysctl.conf settings: >>>>>>>>> vfs.read_max=3D128 # default 64 # Cluster read-ahead max block = count >>>>>>>=20 >>>>>>> I added the above line to my /etc/sysctl.conf . >>>>>>>=20 >>>>>>>>> config.txt: >>>>>>>>> kernel=3Du-boot.bin >>>>>>>>> over_voltage=3D6 >>>>>>>>> arm_freq=3D2000 >>>>>>>>> sdram_freq_min=3D3200 >>>>>>>=20 >>>>>>> Ignoring comment differences, mine matches >>>>>>> for such lines. >>>>>>>=20 >>>>>>> I rebooted on the basis of all these changes >>>>>>> before starting the "-j6 buildworld buildkernel" >>>>>>> style build. >>>>>>>=20 >>>>>>>> Thanks much for the information. >>>>>>>>=20 >>>>>>>=20 >>>>>>> So, 6..10(?) of hours from when the >>>>>>> build started I should have time frames >>>>>>> to report for a "no ccache benefit" >>>>>>> build to compare to my past reported >>>>>>> build times. >>>>>>>=20 >>>=20 >>> With powerd actually enabled ("-r 1") this time . . . >>>=20 >>> -j6 summary: Overall somewhat under 9 hrs historically >>> for -j4 in my non-powerd configuration turned into >>> somewhat under 6 hrs 45 min for -j6 in the test powerd >>> configuration, somewhat over 2 hr 10 min faster.=20 >>>=20 >>> I plan on a -j4 test in the context as well. >>=20 >> -j4 summary: somewhat under 6 hrs 45 min for -j4 in the >> powerd configuration but just a little longer than -j6 . >> In more detail: a little over 4 min longer than -j6 . >>=20 >> I plan on a -j4 build without the vfs.read_max=3D128 >> as the next test of a related context. >=20 > -j4 without vfs.read_max=3D128 summary: somwhat under > 6 hrs 50 min total for the powerd configuration. > In more detail: a little over 7 min longer than -j6 > with vfs.read_max=3D128 took. >=20 >=20 > I plan on a non-powerd test but with force_turbo=3D1=20 > in config.txt (but not arm_freq_min) for -j4 > without vfs.read_max=3D128. So config.txt will have > for overclocking: >=20 > over_voltage=3D6 > arm_freq=3D2000 > sdram_freq_min=3D3200 > force_turbo=3D1 >=20 > In /etc/sysctl.conf it will use: >=20 > dev.cpu.0.freq=3D2000 >=20 > (Although that might not be necessary.) >=20 > I'll note that one of the RPi > engineers/forum-monitors reported in a reply > that they do not set the overclock warranty bit > for RPi4s, allowing experimenting with over_voltage > and force_turbo together. See: >=20 > = https://www.raspberrypi.org/forums/viewtopic.php?f=3D91&t=3D283911&p=3D171= 9405 The -j4 force_turbo=3D1 summary: somewhat under 6 hrs 45 min. but just a little longer than the initial -j6 test. In more detail: a little under 3 min longer than -j6 . Looks like the force_turbo=3D1 context is what I will use for my activities, no powerd. (It looks like powerd use eventually ends up with force_turbo=3D1 via the RPi4 firmware setting it automatically.) Looks like I'll continue to use -j4 for buildworld buildkernel. No vfs.read_max assignment used either (USB3 SSD media). The test result details for the various tests follow. >>> The -j6 details . . . >>> (builds are via a EtherNet ssh session) >>>=20 >>> First a reminder of the prior timing that I >>> reported for my normal configuration of my >>> normal -j4 buildworld buildkernel in my >>> usual overclocking style: >>>=20 >>> World build completed on Thu Mar 11 18:39:37 PST 2021 >>> World built in 29780 seconds, ncpu: 4, make -j4 >>> Kernel build for GENERIC-NODBG completed on Thu Mar 11 19:18:02 PST = 2021 >>> Kernel(s) GENERIC-NODBG built in 2305 seconds, ncpu: 4, make -j4 >>>=20 >>> So a few minutes under 9 hr total for my >>> normal configuration. >>>=20 >>> By contrast, for the -j6 powerd configuration in this >>> experiment: >>>=20 >>> World build completed on Thu Mar 25 16:52:56 PDT 2021 >>> World built in 22324 seconds, ncpu: 4, make -j6 >>> Kernel build for GENERIC-NODBG completed on Thu Mar 25 17:21:16 PDT = 2021 >>> Kernel(s) GENERIC-NODBG built in 1700 seconds, ncpu: 4, make -j6 >>>=20 >>> So somewhat under 6 hrs 45 min. Nice! >>> (It is a little bit faster than the total for >>> the build times that you reported.) >>>=20 >>> Interestingly, after the build and some idle time >>> I see no evidence of the CPUs being slowed down: >>>=20 >>> # sysctl dev.cpu.0.freq >>> dev.cpu.0.freq: 2000 >>>=20 >>> # sysctl hw.cpufreq.arm_freq >>> hw.cpufreq.arm_freq: 2000000000 >>>=20 >>> For reference: the cpu's had definitely cooled >>> (from the low 50C's range): >>>=20 >>> # sysctl hw.cpufreq.temperature >>> hw.cpufreq.temperature: 37447 >>>=20 >>> # sysctl dev.cpu.0.temperature >>> dev.cpu.0.temperature: 36.4C >>>=20 >>> Also: >>>=20 >>> # sysctl dev.bcm2835_cpufreq.0.freq_settings >>> dev.bcm2835_cpufreq.0.freq_settings: 2000/-1 600/-1 >>>=20 >>> # sysctl dev.cpu.0.freq_levels >>> dev.cpu.0.freq_levels: 2000/-1 600/-1 >>>=20 >>> [Fedora gives a much longer list (in other >>> units) when the minimum is not forced: >>> int f over 6<=3Df<=3D20: (f*100)*1MHz . But, as >>> I remember, other linux OS's gave an even >>> different list. Seems to be a choice as to >>> what possibilities to expose of many >>> that can be set up.] >>>=20 >>> I note that sysctl reports: >>>=20 >>> # sysctl hw.cpufreq.turbo >>> hw.cpufreq.turbo: 1 >>>=20 >>> I'm not sure of the value that shows up in in my normal >>> configuration but I do not explicitly set it in any >>> configuration. >>>=20 >>>=20 >>> FYI: my modified version of top reported Maximum >>> Observed for Active+Wired of: 3468Mi MaxObs(Act+Wir), >>> suggesting that a 4 GiByte RPi4B might be a little >>> constrained at some point(s) in the build by the more >>> limited RAM and 2 GiByte RPi4B's or less would be >>> constrained for sure. >>>=20 >>=20 >> The -j4 details . . . >> (builds are via a EtherNet ssh session) >> (I reboot before testing) >>=20 >> World build completed on Fri Mar 26 00:44:13 PDT 2021 >> World built in 22552 seconds, ncpu: 4, make -j4 >> Kernel build for GENERIC-NODBG completed on Fri Mar 26 01:12:48 PDT = 2021 >> Kernel(s) GENERIC-NODBG built in 1715 seconds, ncpu: 4, make -j4 >>=20 >> So somewhat under 6 hrs 45 min. Nice! >> (It is a little bit faster than the total for >> the build times that you reported.) >>=20 >> The sysctl value information is similar to what it >> was for -j16, not repeated here. >>=20 >> FYI: my modified version of top reported Maximum >> Observed for Active+Wired of: 2589Mi MaxObs(Act+Wir), >> suggesting that a 2 GiByte RPi4B would be somewhat >> constrained at some point(s) in the build by the more >> limited RAM but a 4 GiByte one would not. (Memory use >> is a -j4 vs -j6 tradeoff.) >=20 > The -j4 without vfs.read_max=3D128 details . . . > (builds are via a EtherNet ssh session) > (I reboot before testing, first doing rm -fr = /usr/obj/cortexA72_clang/* ) > (USB3 SSD media) >=20 > World build completed on Fri Mar 26 08:25:00 PDT 2021 > World built in 22738 seconds, ncpu: 4, make -j4 > Kernel build for GENERIC-NODBG completed on Fri Mar 26 08:53:31 PDT = 2021 > Kernel(s) GENERIC-NODBG built in 1711 seconds, ncpu: 4, make -j4 >=20 > So somewhat under 6 hr 50 min. >=20 > FYI: my modified version of top reported Maximum > Observed for Active+Wired of: 2920Mi MaxObs(Act+Wir), > indicating that a 2 GiByte RPi4B would be somewhat > constrained at some point(s) in the build by the more > limited RAM but a 4 GiByte one would not. This is > somewhat more than -j4 with vfs.read_max=3D128 used. >=20 The -j4 force_turbo=3D1 details . . . (no powerd, no vfs.read_max=3D128) (builds are via a EtherNet ssh session) (I reboot before testing, first doing rm -fr /usr/obj/cortexA72_clang/* = ) (USB3 SSD media) World build completed on Fri Mar 26 19:10:11 PDT 2021 World built in 22491 seconds, ncpu: 4, make -j4 Kernel build for GENERIC-NODBG completed on Fri Mar 26 19:38:33 PDT 2021 Kernel(s) GENERIC-NODBG built in 1702 seconds, ncpu: 4, make -j4 So somewhat under 6 hr 45 min. FYI: my modified version of top reported Maximum Observed for Active+Wired of: 2564Mi MaxObs(Act+Wir), suggesting that a 2 GiByte RPi4B would be somewhat constrained at some point(s) in the build by the more limited RAM but a 4 GiByte one would not. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E617BDA8-5D37-4721-A960-F4158B03AD19>