From owner-freebsd-current@freebsd.org Tue Jan 19 05:13:01 2021 Return-Path: Delivered-To: freebsd-current@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 087A94E609C for ; Tue, 19 Jan 2021 05:13:00 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic317-22.consmr.mail.gq1.yahoo.com (sonic317-22.consmr.mail.gq1.yahoo.com [98.137.66.148]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DKcH668rqz4bHb for ; Tue, 19 Jan 2021 05:12:49 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1611033166; bh=71ym+CwJ0Xy40YBornWgs7rKnILinxCHGxAk9dmVSS0=; h=Subject:From:Date:To:From:Subject:Reply-To; b=JVqa21Jzd9QbU6tFQXfCsdXR0LSLVsavr5d8EQH8QiWfrORCUqfoyZZLrVytrF+RS1g5toSDY/aWJOAZVGU6Mzl9UIpdy4m1a52Zaz3FXcuPKNcVi88cMKQFRaSzofo34vaND+fjXNMS1fYLHNjCJieA4XuaTCpirrbHZzcZoY9Pf4aAoZw2LmqcrgsNusCcUDh19e1sWlKvd7IPPh2hF5rWlFVC/suVG2xIMay4Lzay2b8jrKsv7OB3UPCCsyLBxICidrqE5a0QIys6iE0Lb8DS8TIlJTioib12U5+esHM7fDwGKZbYgGIu37tKNrG8JEPYBd38OOAlVDXXJvPgDg== X-YMail-OSG: D2TtJqkVM1nlN8VttsSHAnzth5gh_0QgFXmTgf24MUVTINFIA0rzvIEoMIYJwEp LlRLeUfLbJ8Zke9TJ0KwJg4d5CgkNyBejvfyazV4rmXeU9zuxjA7U_svDS1Z_s2jMx.3uaFWw2he qMEZzyvLgTdx.augUm6Vws5Rhws3D5COeqdWtGtuJmMLlyryP6T.AeKBIPD1orBzz0vCuPzT.C__ 0bcA820XOif3HE.TwtyUduHVxQfgHNZabhwcn5zxsj7zvk4Od4gDHVo8t28C2NPrS8_eazHY643W Mu6GHDQ5VQsU7qlbgoemLwQuJU871En1IAXXeSWbFLMPeWMBDBVr1aM8.XgDGLY.B_rNWHNIRCPF RgT5AFmUyYmUvXe8XG3kyn_xj7aXJ8_1qnHkFGy5.d8VbQZ_JOv1MhB9OTzxOUX0dG_UtxJwN_zD EOnz0Qhi17GPsOLp7Kx1j299cIzQAREr9awim9.LLy_fATps7R1UbadQ3HTA6g9IadCoT.aVq7VD yOeupIWzB2ru0TWeHON.AkqxqkzhaTJ69Q2KjZKLekdJHrWH.QZHuVYmv3NzZIbYzZMtaumpNZ00 G.p6bqLY6TKyzJ2UrctvBoWDVmnEJcZAmVKKd4li5pLeBXHPzNe3wXzlcUXbtO9xksJUyEJLdr_4 i42h3W.Ws8ZhB9xNi5gsS6DmM8L0ko12ECZGONi5cL3IYvyMG4IwxBiPMLyE9zytYolcQRB24Z6G LRPjQ_Ox5mD7s3z499X6ayE21HAYpblTA3gx3jo9XhPtn1VeFV1igMgHaeACZk0kc6mDRQ8XeAB9 6gHkuzvNgWtnqxQwClkXofFoLlnI09Upm0xyiBqPRDWVstC1ba5OvyY.goDP5KP4qNlTrI66HoA6 3bpOOPPaLtvIUGbaU.AdezSNjIMLUm9l1qZlHC3Jwt5IucUzLLE9Pt1R.DfT7Tm6fwKyEiKD6Vgx .x3j530iuta1xYvDPlf6gO_79s1b.897V1o3udOjB97w2ABRq3zqUY6pqHjl3c.JV4_SLacPfcaA QjI5JO9B7wbdJfzdqk._CvAONCOO_1__ZzlsFslrw_CJlUHjwV4rTbnorjR_JkADnRC_P34SzFyq QiIRPPE0HFZwhWeoWx90XeHCZwCUktkfNlKn.aGMEPdermngEshx5V3yLy.2AuH0HhnkAreHqVxk OA1awWuzaVc24ibs_zlEcaqoGuyQENpSEYES1.jzyNi6rMai09rOVDnFYOUBJos82HPQCMMy9rSu hxtHMgWJ.GOuuJDelu9SlI7if.ZGGzx3.g0214mtyKZt0z7aC5cGly2EI9LPwAeFGh62UolIdLzi u3tnJTgTkTkKdGX7.WoCVp_dilLr4FngSQ43xijeQtsx6Fwh6axGJ15rokItD1InrbpK_DYBFAmK LEW2YlO10zeTA83wsvToHw0_0T0E7ffZWSGiiEmYTdyx6QT6.Gl1Z9.2u3AdxtRzDq.TbhQ7LghT efl0yPaQvDJfh6C07lDLKyFcMap7t.OAOoC3OrwLV0jWZpev90a4DDaPwYTgzlf0eQTlhDG1PDwH ajPZLET2EjefzfIfO5BfdIglqZu9E9yzqTHV_IJN8Al7xg0bn54Nzcea6LJMfXr2g.KhifkCZorP O04BQeykGwVz2x0hFqEiOuaHaLplMMg4mgSQzbqaYKJiio4HLVUMyHJiuELNn4QjT.2EEL76_qPc SEhAsYwUlGYwj3xwACqCj5oRzFoHI77EU5rSZw24KNSPhh1rybG.E41K6T9wpM14RHTQtirA2MwR yVToWh1BFvSo.5q1y_nmZZZpK1V5EgGCl1tSd5yr3.JFOAcye9oZzVLIUvFnfD.Gqu35F._tA8wg 72rginYleNKuxIwTFAgOJ9NEOwkW0OLIQ.Uteu7XkJWtEj7Nd9OHPc9a0b9VcgPJhU7yRbAdM93y DNIe75ZCOKqElA2vf4EV4lHNVJe7fhYKTHASKJig6hKW5rdSijOE8a9HFn._Gqlb0.99WKP18UYf Xy8BZTmB7U4WpLuP91Z1y4ZzCA7X8fbpIp2foQtIHnyef0W_zBhRP9PZ2MKV1al77fPfxlmfBwUj LFD.AKilwKtZJDjdqF5r7LSbTWZtmMN3GRcPGWvG3Vpr.Px5_ooIXpubPKdwvBsHzEpIhB1rAXmO XHLNLjRKdUmCTtqFSl1cj0nGuuZXBBQ.Znf04ykzIrcgsjeZNbOXEC5FsSpvveOuNkRBhWJWI7oV TBg3JiOT9pWBpoDRP35rVnthzCfr1dwbhOrnQWRb3Y6BdoaJjhn5Ky8ZuIb78I1CUxVXrhOfb5K7 v74RX.qVZsJB_717JWIzaVAIn7eJkg3mpWqHDJjov1hYASA91XGd9cDAPQhHRfde2Y9cGgwmkLHb lsA5cwkUkEX_yK6qoi8NFHheZu2PZXq4auNbykkVOf8qOfzx1l3YbDfKKMUVxb.2kCdaF8qKShDY xweqaoSVa_ZzQAGJpKHYaOE9nHh1X_MMJrISWYdbP9_rcMURGAr0eAl.EF6OPm7LU3sSBkSslE.o Fag1PgcA93TcqZ59mkXv.1iMm3a2Ktlngkr.31s3Pi3qzGKfJ0XMfVEXL2gKdMQ1i7sw67Tlmkvi 3UtG0 Received: from sonic.gate.mail.ne1.yahoo.com by sonic317.consmr.mail.gq1.yahoo.com with HTTP; Tue, 19 Jan 2021 05:12:46 +0000 Received: by smtp416.mail.gq1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 72328f8d3653c35cee212499c9c77b5e; Tue, 19 Jan 2021 05:12:44 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.40.0.2.32\)) Subject: Re: Silent hang in buildworld, was Re: Invoking -v for clang during buildworld From: Mark Millard In-Reply-To: <00104FAD-E32B-4DDE-80DD-FCEF14CEC06B@yahoo.com> Date: Mon, 18 Jan 2021 21:12:43 -0800 Cc: Current FreeBSD , freebsd-arm@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <20210116043740.GA19523@www.zefox.net> <20210116155538.GA24259@www.zefox.net> <20210116220334.GA26756@www.zefox.net> <20210117174006.GA30728@www.zefox.net> <85889EAE-F579-4220-9185-944D9AA5075A@yahoo.com> <20210118015009.GA31353@www.zefox.net> <60CCCDE8-E3D3-4920-9FC0-A945330F6830@yahoo.com> <00104FAD-E32B-4DDE-80DD-FCEF14CEC06B@yahoo.com> To: bob prohaska X-Mailer: Apple Mail (2.3654.40.0.2.32) X-Rspamd-Queue-Id: 4DKcH668rqz4bHb X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.50 / 15.00]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; DKIM_TRACE(0.00)[yahoo.com:+]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; NEURAL_HAM_SHORT(-1.00)[-0.999]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RBL_DBL_DONT_QUERY_IPS(0.00)[98.137.66.148:from]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; SPAMHAUS_ZRD(0.00)[98.137.66.148:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.66.148:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.66.148:from]; RCVD_COUNT_TWO(0.00)[2]; MAILMAN_DEST(0.00)[freebsd-current] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jan 2021 05:13:01 -0000 On 2021-Jan-18, at 19:19, Mark Millard wrote: > . . . >> FYI: I re-established my access to a RPi2B V1.1 and made >> it report: "maximum recommended amount (468832 pages)" >>=20 >> (The figure can vary some from release to release.) >>=20 >> 468832*4096 =3D=3D 1920335872 or a little over 1831 MiBytes >>=20 >> For the 4096 Byte pages, that means that the following from >> gpart fits without complaint (size is in blocks, not pages): >>=20 >> 413140992 3686400 da0p2 freebsd-swap (1.8G) >>=20 >> 3686400*512 is a little over 1.75 GiByte or 1800 MiByte. So >> I've left some room below 1831 MiBytes, but not a lot. >>=20 >> FYI about my build experiment that is running: >>=20 >> # sysctl hw.physmem >> hw.physmem: 979042304 >>=20 >> which, in recent times for armv7, I can (and did) set in >> /boot/loader.conf on a faster cortex-A7 SBC (that can boot >> the same media but has more RAM). >>=20 >> So I tried a -j4 build, but with LDFLAGS.lld+=3D -Wl,--threads=3D1 >> in use and my other particular src.conf/make.conf like content >> (so the builds do likely differ from yours in various ways). >> My build is producing a non-debug build (but with -g symbols). >> Somewhat after where your buildworld.log stops, my odd variant >> of top was reporting: >>=20 >> Mem: . . . , 753672Ki MaxObsActive, 200412Ki MaxObsWired, 892732Ki = MaxObs(Act+Wir) >> Swap: . . . , 145832Ki MaxObsUsed >>=20 >> and top was also showing lots of processes as having "0B" RES >> in STATE "wait" or "nanslp" (so, apparently swapped out, not paging). >> ("MaxObs" is short for "maximum observed".) >>=20 >> For comparison, your swapscript.log reported a maximum total of >> 346192 KiBytes "Used" for swap, about 98% into the log file. >>=20 >> (Time goes by . . .) >>=20 >> It finished with building libllvm and is part way into building >> libclang. This is probably well past where your hangup happened, >> given that your published buildworldlog file stopped with >> libllvm's Target/ARM/ARMMCInstLower.o . My odd top now shows: >>=20 >> Mem: . . . , 753672Ki MaxObsActive, 200412Ki MaxObsWired, 892732Ki = MaxObs(Act+Wir) >> Swap: . . . , 392328Ki MaxObsUsed >>=20 >> The build continues to run. I'll let you know how it goes. >> . . . >=20 > Just after libclang finished my odd top showed: >=20 > Mem: . . . , 753672Ki MaxObsActive, 200412Ki MaxObsWired, 892736Ki = MaxObs(Act+Wir) > Swap: . . . , 537588Ki MaxObsUsed >=20 > After liblldb: >=20 > Mem: . . . , 753672Ki MaxObsActive, 200412Ki MaxObsWired, 899276Ki = MaxObs(Act+Wir) > Swap: . . . , 537588Ki MaxObsUsed >=20 > Much later, after the lldb program had been built: >=20 > Mem: . . . , 765700Ki MaxObsActive, 200412Ki MaxObsWired, 954116Ki = MaxObs(Act+Wir) > Swap: . . . , 537588Ki MaxObsUsed >=20 >>>> World build completed on Mon Jan 18 19:10:08 PST 2021 >>>> World built in 72960 seconds, ncpu: 4, make -j4 >=20 > This was building from scratch what was already installed: >=20 > # ~/fbsd-based-on-what-freebsd-main.sh=20 > merge-base: 818390ce0ca539300dd15d7a817784f1e3f7a9b8 > merge-base: CommitDate: 2021-01-13 21:27:44 +0000 > 4180404713ec (HEAD -> mm-src) mm-src snapshot for mm's patched build = in git context. > 818390ce0ca5 (freebsd/main, freebsd/HEAD, pure-src, main) arm64: fix = early devmap assertion > FreeBSD OPiP2E_RPi2v11 13.0-CURRENT FreeBSD 13.0-CURRENT = mm-src-c255938-g4180404713ec GENERIC-NODBG arm armv7 1300135 1300135 >=20 > This suggests that you should be able to build on the RPi2B v1.1, > using -j4, with appropriate configuration for what and how to build. >=20 >=20 > It is now building the matching kernel, my GENERIC-NODBG style. Done: >>> Kernel build for GENERIC-NODBG completed on Mon Jan 18 20:33:26 PST = 2021 >>> Kernel(s) GENERIC-NODBG built in 4998 seconds, ncpu: 4, make -j4 So, World+Kernel in somewhat under 22 hours. The "MaxObs*" figures were unchanged, so: Mem: . . . , 765700Ki MaxObsActive, 200412Ki MaxObsWired, 954116Ki = MaxObs(Act+Wir) Swap: . . . , 537588Ki MaxObsUsed This suggests that, for now, 800 MiByte of swap would be something more than 1.5 times what it actually used and 1050 MiBytes would be something like 2.0 times what it actually used, so leaving some notable margin for variations in peek usage, at least when linker threading is avoided. As for what I used to control "what and how to build" . . . # more = ~/sys_build_scripts.armv7-host/make_armv7_nodebug_clang_bootstrap-armv7-ho= st.sh=20 kldload -n filemon && \ script = ~/sys_typescripts/typescript_make_armv7_nodebug_clang_bootstrap-armv7-host= -$(date +%Y-%m-%d:%H:%M:%S) \ env __MAKE_CONF=3D"/root/src.configs/make.conf" SRCCONF=3D"/dev/null" = SRC_ENV_CONF=3D"/root/src.configs/src.conf.armv7-clang-bootstrap.armv7-hos= t" \ WITH_META_MODE=3Dyes \ WORLD_FLAGS=3D"${WORLD_FLAGS} UBLDR_LOADADDR=3D0x42000000" \ MAKEOBJDIRPREFIX=3D"/usr/obj/armv7_clang/arm.armv7" \ make $* (In my context, UBLDR_LOADADDR is ignored by anything that can not use the figure given. So I've no bothered to be more selective about having it in the armv7 builds.) # more ~/src.configs/make.conf LDFLAGS.lld+=3D -Wl,--threads=3D1 # more ~/src.configs/src.conf.armv7-clang-bootstrap.armv7-host TO_TYPE=3Darmv7 # KERNCONF=3DGENERIC-NODBG TARGET=3Darm .if ${.MAKE.LEVEL} =3D=3D 0 TARGET_ARCH=3D${TO_TYPE} .export TARGET_ARCH .endif # #WITH_CROSS_COMPILER=3D WITH_SYSTEM_COMPILER=3D WITH_SYSTEM_LINKER=3D # WITH_LIBCPLUSPLUS=3D WITHOUT_BINUTILS_BOOTSTRAP=3D WITH_ELFTOOLCHAIN_BOOTSTRAP=3D #Disables avoiding bootstrap: WITHOUT_LLVM_TARGET_ALL=3D WITHOUT_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 WITHOUT_BINUTILS=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 CFLAGS # usage, such as ?=3D usage. CFLAGS.clang+=3D -mcpu=3Dcortex-a7 CXXFLAGS.clang+=3D -mcpu=3Dcortex-a7 CPPFLAGS.clang+=3D -mcpu=3Dcortex-a7 (I do not claim that you would want WITH_REPRODUCIBLE_BUILD . I just happen to have been experimenting with it. You might not want to be explicit about the cpu to target. You might not want WITH_CLANG_EXTRAS .) # more /usr/fbsd/mm-src/sys/arm/conf/GENERIC-NODBG include "GENERIC" ident GENERIC-NODBG makeoptions DEBUG=3D-g # Build kernel with gdb(1) = debug symbols options AUDIT # Not enabled by default in = armv7/v6 kernels # Enabled here to allow kyua = test runs to # possibly report auditing = works. 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=3D0 # Enable verbose sysinit = messages #options BOOTVERBOSE=3D1 #options BOOTHOWTO=3DRB_VERBOSE options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard = escape sequence options KLD_DEBUG #options KTR #options KTR_MASK=3DKTR_TRAP ##options KTR_CPUMASK=3D0xF #options KTR_VERBOSE # Disable any extra checking for. . . 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 DEADLKRES # Enable the deadlock resolver nooptions MALLOC_DEBUG_MAXZONES # Separate malloc(9) zones nooptions DIAGNOSTIC nooptions BUF_TRACKING nooptions FULL_BUF_TRACKING nooptions USB_DEBUG nooptions USB_REQ_DEBUG nooptions USB_VERBOSE The /boot/loader.conf file and the /etc/sysctl.conf files both contained: vm.pageout_oom_seq=3D120 vm.pfault_oom_attempts=3D-1 (The hw.physmem=3D979042304 in /boot/loader.conf was very-special, to better approximate your environment. I also controlled the cpu frequency used via a line in /etc/sysctl.conf . I do not bother with such non-default frequency usage [or related settings] for RPi*'s with the pre-RPi4B style power connections but do control the frequency for the OPi+2E.) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)