Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Mar 2020 09:17:42 -0700
From:      bob prohaska <fbsd@www.zefox.net>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        freebsd-arm@freebsd.org, bob prohaska <fbsd@www.zefox.net>
Subject:   Re: Belated out of swap kill on rpi3 at r359216
Message-ID:  <20200328161742.GA7571@www.zefox.net>
In-Reply-To: <5549E63B-0784-4B58-AD36-2A2EDC518308@yahoo.com>
References:  <83E41A13-6C24-4B56-A837-779044038FBC@yahoo.com> <20200324185518.GA92311@www.zefox.net> <75CE3C07-8A0A-4D32-84C6-24BEA967447E@yahoo.com> <20200324224658.GA92726@www.zefox.net> <764D5A86-6A42-44E0-A706-F1C49BB198DA@yahoo.com> <20200325015633.GA93057@www.zefox.net> <0FF6BC4C-296F-49F3-8FB8-AA87A49349E2@yahoo.com> <20200326220649.GA99824@www.zefox.net> <0A8CF8D1-8D0F-40E2-A10D-EB44BEEAB557@yahoo.com> <5549E63B-0784-4B58-AD36-2A2EDC518308@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Mar 27, 2020 at 07:25:45PM -0700, Mark Millard wrote:
> 
> 
> On 2020-Mar-26, at 16:24, Mark Millard <marklmi at yahoo.com> wrote:
> 
> > 
> > Anyway, I may, for a time, have one context that is
> > more like yours than is normal for me. As stands, the
> > RPi3 is doing a from-scratch buildworld buildkernel .
> > (Reconstructing the head -r358966 that it is already
> > running.) It is not splitting the I/O load but is
> > using a USB SSD (via a powered hub), not the microsd
> > card. No extra logging. vm.pfault_oom_attempts=-1
> > and vm.pageout_oom_seq=120 for this attempt. 3072
> > MiBytes of page/swap space. It is a -j4 build attempt.
> > 
> 
> ("No extra logging" meant: beyond my normal typescript
> recording of the build output. That file ended up at
> 7741518 Bytes for size.)

Does the process capture all the output from make buildworld?
On my machines (pi2 and pi3) that's usually ~30 MB. 

> 
> 
> The build completed without any /var/log/message or
> console output during the build. My modified version
> of top reported (details copied from a ssh window) . . .
> 

That seems to settle matters. My problems are with the old
microSD card. New, it was marginally ok. Old, it's not. That
crudely quantifies lifespan at around a year of active use,
with trouble appearing roughly when the card was 75% full,
at least a hint of required overprovisioning.

Out of curiosity, have you tried leaving vm.pfault_oom_attempts at 
its default value? An OOM kill would be unexpected, but interesting 
if observed. 

 

> For Mem: 738512Ki MaxObsActive, 190608Ki MaxObsWired, 906372Ki MaxObs(Act+Wir)
> For Swap:  1927Mi MaxObsUsed
>

Thanks for posting!

bob prohaska


> (top was started before the build. "MaxObs" is short
> for "Maximum Observed".)
> 
> The build took a few minutes under 31 hrs.
> (Ending:   2010-03-27:18:54:03
>  Starting: 2020-03-26:12:02:47).
> 
> Because it was rebuilding -r358966 that it was already
> running, no bootstrap compiler or linker was built,
> despite it being a from-scratch build: The system
> compiler and linker were sufficient.
> 
> 
> 
> For reference: the details of what was specified for
> building (contributes to "how long it took"). . .
> 
> # more ~/src.configs/src.conf.cortexA53-clang-bootstrap.aarch64-host 
> TO_TYPE=aarch64
> #
> KERNCONF=GENERIC-NODBG
> TARGET=arm64
> .if ${.MAKE.LEVEL} == 0
> TARGET_ARCH=${TO_TYPE}
> .export TARGET_ARCH
> .endif
> #
> WITH_SYSTEM_COMPILER=
> WITH_SYSTEM_LINKER=
> #
> WITH_LIBCPLUSPLUS=
> WITHOUT_BINUTILS_BOOTSTRAP=
> WITH_ELFTOOLCHAIN_BOOTSTRAP=
> #Disables avoiding bootstrap: WITHOUT_LLVM_TARGET_ALL=
> WITH_LLVM_TARGET_AARCH64=
> WITH_LLVM_TARGET_ARM=
> WITHOUT_LLVM_TARGET_MIPS=
> WITHOUT_LLVM_TARGET_POWERPC=
> WITHOUT_LLVM_TARGET_RISCV=
> WITHOUT_LLVM_TARGET_X86=
> WITH_CLANG=
> WITH_CLANG_IS_CC=
> WITH_CLANG_FULL=
> WITH_CLANG_EXTRAS=
> WITH_LLD=
> WITH_LLD_IS_LD=
> WITHOUT_BINUTILS=
> WITH_LLDB=
> #
> WITH_BOOT=
> WITHOUT_LIB32=
> #
> #
> NO_WERROR=
> #WERROR=
> MALLOC_PRODUCTION=
> #
> # Avoid stripping but do not control host -g status as well:
> DEBUG_FLAGS+=
> #
> WITH_DEBUG_FILES=
> #
> # Use of the .clang 's here avoids
> # interfering with other C<?>FLAGS
> # usage, such as ?= usage.
> CFLAGS.clang+= -mcpu=cortex-a53
> CXXFLAGS.clang+= -mcpu=cortex-a53
> CPPFLAGS.clang+= -mcpu=cortex-a53
> ACFLAGS.arm64cpuid.S+=  -mcpu=cortex-a53+crypto
> ACFLAGS.aesv8-armx.S+=  -mcpu=cortex-a53+crypto
> ACFLAGS.ghashv8-armx.S+=        -mcpu=cortex-a53+crypto
> 
> # more /usr/src/sys/arm64/conf/GENERIC-NODBG 
> #
> # GENERIC -- Custom configuration for the arm64/aarch64
> #
> 
> include "GENERIC"
> 
> ident   GENERIC-NODBG
> 
> makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols
> 
> options         ALT_BREAK_TO_DEBUGGER
> 
> options         KDB                     # Enable kernel debugger support
> 
> # For minimum debugger support (stable branch) use:
> #options        KDB_TRACE               # Print a stack trace for a panic
> options         DDB                     # Enable the kernel debugger
> 
> # Extra stuff:
> #options        VERBOSE_SYSINIT=0       # Enable verbose sysinit messages
> #options        BOOTVERBOSE=1
> #options        BOOTHOWTO=RB_VERBOSE
> #options        KTR
> #options        KTR_MASK=KTR_TRAP
> ##options       KTR_CPUMASK=0xF
> #options        KTR_VERBOSE
> 
> # Disable any extra checking for. . .
> nooptions       DEADLKRES               # Enable the deadlock resolver
> nooptions       INVARIANTS              # Enable calls of extra sanity checking
> nooptions       INVARIANT_SUPPORT       # Extra sanity checks of internal structures, required by INVARIANTS
> nooptions       WITNESS                 # Enable checks to detect deadlocks and cycles
> nooptions       WITNESS_SKIPSPIN        # Don't run witness on spinlocks for speed
> nooptions       DIAGNOSTIC
> nooptions       MALLOC_DEBUG_MAXZONES   # Separate malloc(9) zones
> nooptions       BUF_TRACKING
> nooptions       FULL_BUF_TRACKING
> 
> 
> ===
> 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?20200328161742.GA7571>