Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Mar 2021 13:07:13 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        tech-lists <tech-lists@zyxst.net>, bob prohaska <fbsd@www.zefox.net>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: RPI4 clock speeds and serial port ( temperatures idle and -j4 buildworld buildkernel )
Message-ID:  <5812DEEB-1E71-409C-8426-F201766C72F5@yahoo.com>
In-Reply-To: <YFTzlVVhyt13wdAG@ceres.zyxst.net>
References:  <20210318170053.GA26688@www.zefox.net> <9FFA0A51-C0B7-4121-95CA-B98669809007@yahoo.com> <E4CF6642-CB70-4495-A865-05469953561C@yahoo.com> <EA6BE351-98F5-4446-BA4D-948F04EDFD3B@yahoo.com> <81AC0353-258C-41C3-86B1-C133E33D97E3@yahoo.com> <20210319174359.GA38899@www.zefox.net> <9DB699E3-5977-4651-B3D2-26343F202F2D@yahoo.com> <AD2BCC4D-F0A2-40F6-ABB8-2F5B08ED47D4@yahoo.com> <YFTzlVVhyt13wdAG@ceres.zyxst.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Mar-19, at 11:55, tech-lists <tech-lists at zyxst.net> wrote:

> On Fri, Mar 19, 2021 at 11:29:51AM -0700, Mark Millard via freebsd-arm =
wrote:
>=20
>> Back to temperature. See:
>>=20
>> =
https://www.raspberrypi.org/documentation/hardware/raspberrypi/frequency-m=
anagement.md
>>=20
>> It indicates that 85C is the maximum temperature,
>> though lower figures can be set. It also reports
>> that a form of throttling starts at 80C by default.
>=20
> I use -j6 [1] for buildworld/kernel steps

I'll put my -jN notes after [1].

> on stable/13 and highest temp seen has been 72 degC at 25 ambient [2], =
when it's compiling clang and friends. Not measured
> timings but it's less than a day.

I like getting the time down to near 8 hours or less,
allowing a build to start before bed and be finished
not that long after getting out of bed, even for a
full rebuild.

The RPi4B's are the first of the small boards that
I've gotten into that range for the build times for
what I choose to build for buildworld buildkernel .

> I'll have to try the .clang flags
> you've posted elsewhere. What I do have, which cuts down compile time,
> is a load of WITHOUT_SOMETHING=3D statements in /etc/src.conf covering =
stuff that'll
> never be used in this particular context.

For building on arm's, I have the WITHOUT_*'s for
the other instruction sets for building the compiler
but all my src.conf equivalents have some other stuff
enabled that is not default relative to llvm/clang.
Other parts of FreeBSD I've not controlled explicitly.

I show the file later in this message.

> [1] still has enough horsepower to run eg mutt+vim and a nginx =
webserver comfortably.     I didn't choose -j6 out of anything more =
scientific than "well there's 4 cores so     let's make it j6 to keep it =
busy"

The 8 GiByte RPi4B's have enough RAM to not have as much
negative consequences from -j6 from the extra RAM use.
But I tend to use similar configuration handling across
systems --and that ends up being driven by the lower RAM
contexts for such issues.

Also, in monitoring builds with -j4 and larger it never
looked to me like there was much idle time that a -j5 or
more would actually put to use. (A similar statement is
true for -j32 vs. -j33 or more for the ThreadRipper 1950X
context. This context has lots of RAM for such activity.)
I've not done such experiments in a long time.

> [2] implying maximum ambient is 33 for this case.


Notes . . .

I probably should have listed my equivalent of
src.conf when I listed the kernel configuration
file in the earlier messages, since it contributes
to the time use in (re)builds and so to what my
reported times are for. So:

# more ~/src.configs/src.conf.cortexA72-clang-bootstrap.aarch64-host=20
TO_TYPE=3Daarch64
#
KERNCONF=3DGENERIC-NODBG
TARGET=3Darm64
.if ${.MAKE.LEVEL} =3D=3D 0
TARGET_ARCH=3D${TO_TYPE}
.export TARGET_ARCH
.endif
#
WITH_SYSTEM_COMPILER=3D
WITH_SYSTEM_LINKER=3D
#
WITH_ELFTOOLCHAIN_BOOTSTRAP=3D
#Disables avoiding bootstrap: WITHOUT_LLVM_TARGET_ALL=3D
WITH_LLVM_TARGET_AARCH64=3D
WITH_LLVM_TARGET_ARM=3D
WITHOUT_LLVM_TARGET_MIPS=3D
WITHOUT_LLVM_TARGET_POWERPC=3D
WITHOUT_LLVM_TARGET_RISCV=3D
WITHOUT_LLVM_TARGET_X86=3D
WITH_CLANG=3D
WITH_CLANG_IS_CC=3D
WITH_CLANG_FULL=3D
WITH_CLANG_EXTRAS=3D
WITH_LLD=3D
WITH_LLD_IS_LD=3D
WITH_LLDB=3D
#
WITH_BOOT=3D
WITHOUT_LIB32=3D
#
#
WITHOUT_WERROR=3D
#WERROR=3D
MALLOC_PRODUCTION=3D
WITH_MALLOC_PRODUCTION=3D
WITHOUT_ASSERT_DEBUG=3D
WITHOUT_LLVM_ASSERTIONS=3D
#
# Avoid stripping but do not control host -g status as well:
DEBUG_FLAGS+=3D
#
WITH_REPRODUCIBLE_BUILD=3D
WITH_DEBUG_FILES=3D
#
# Use of the .clang 's here avoids
# interfering with other C<?>FLAGS
# usage, such as ?=3D usage.
CFLAGS.clang+=3D -mcpu=3Dcortex-a72
CXXFLAGS.clang+=3D -mcpu=3Dcortex-a72
CPPFLAGS.clang+=3D -mcpu=3Dcortex-a72
ACFLAGS.arm64cpuid.S+=3D  -mcpu=3Dcortex-a72+crypto
ACFLAGS.aesv8-armx.S+=3D  -mcpu=3Dcortex-a72+crypto
ACFLAGS.ghashv8-armx.S+=3D        -mcpu=3Dcortex-a72+crypto


=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?5812DEEB-1E71-409C-8426-F201766C72F5>