From owner-freebsd-arm@freebsd.org Wed Sep 13 06:16:35 2017 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 09C59E0EE68 for ; Wed, 13 Sep 2017 06:16:35 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-66.reflexion.net [208.70.210.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BC47E74FBC for ; Wed, 13 Sep 2017 06:16:33 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 19832 invoked from network); 13 Sep 2017 06:21:59 -0000 Received: from unknown (HELO mail-cs-02.app.dca.reflexion.local) (10.81.19.2) by 0 (rfx-qmail) with SMTP; 13 Sep 2017 06:21:59 -0000 Received: by mail-cs-02.app.dca.reflexion.local (Reflexion email security v8.40.2) with SMTP; Wed, 13 Sep 2017 02:16:32 -0400 (EDT) Received: (qmail 6587 invoked from network); 13 Sep 2017 06:16:32 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 13 Sep 2017 06:16:32 -0000 Received: from [192.168.1.109] (c-67-170-167-181.hsd1.or.comcast.net [67.170.167.181]) by iron2.pdx.net (Postfix) with ESMTPSA id AC413EC7925; Tue, 12 Sep 2017 23:16:31 -0700 (PDT) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: FYI: Pine64+ 2GB (so A64) booting and non-debug vs. debug kernel: nondebug+INVARIANTS+INVARIANT_SUPPORT sufficient to boot Date: Tue, 12 Sep 2017 23:16:31 -0700 References: <1C18FF04-6772-4E9C-88C5-B8D5478C5809@dsl-only.net> To: Emmanuel Vadot , freebsd-arm In-Reply-To: <1C18FF04-6772-4E9C-88C5-B8D5478C5809@dsl-only.net> Message-Id: X-Mailer: Apple Mail (2.3273) X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Sep 2017 06:16:35 -0000 [Back to nooptions for INVARIANTS and INVARIANT_SUPPORT but now verbose booting. taskqgroup_adjust_softirq(0)... is the one to not get a "done." before failure.] On 2017-Sep-12, at 7:19 PM, Mark Millard wrote: > I took my normal GENERIC-NODBG (that includes GENERIC) > and changed INVARIANTS and INVARIANT_SUPPORT to have > "options" status instead of "nooptions" status. The > result boots (so far no counterexamples). (This is > head -r323246 .) >=20 > So it appears that one or more INVARIANT tests are > "fixing" the Pine64+ 2GB boot problem. I've no clue > which. But other debug options are not required. >=20 > FYI. . . >=20 > # more /usr/src/sys/arm64/conf/GENERIC-NODBG = = =20 > # > # GENERIC -- Custom configuration for the arm64/aarch64 > # >=20 > include "GENERIC" >=20 > ident GENERIC-NODBG >=20 > makeoptions DEBUG=3D-g # Build kernel with gdb(1) = debug symbols >=20 > options ALT_BREAK_TO_DEBUGGER >=20 > options KDB # Enable kernel debugger = support >=20 > # For minimum debugger support (stable branch) use: > #options KDB_TRACE # Print a stack trace for a = panic > options DDB # Enable the kernel debugger >=20 > # Extra stuff: > #options VERBOSE_SYSINIT # Enable verbose sysinit = messages > #options BOOTVERBOSE=3D1 > #options BOOTHOWTO=3DRB_VERBOSE > #options KTR > #options KTR_MASK=3DKTR_TRAP > ##options KTR_CPUMASK=3D0xF > #options KTR_VERBOSE >=20 > # Disable any extra checking for. . . > nooptions DEADLKRES # Enable the deadlock resolver > options INVARIANTS # Enable calls of extra sanity = checking > options 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 I've changed to have: options VERBOSE_SYSINIT # Enable verbose sysinit messages options BOOTVERBOSE=3D1 options BOOTHOWTO=3DRB_VERBOSE and: nooptions INVARIANTS # Enable calls of extra sanity = checking nooptions INVARIANT_SUPPORT # Extra sanity checks of = internal structures, required by INVARIANTS The tail of the verbose failing boot looks like: . . . vt_upgrade(&vt_consdev)... done. subsystem b000000 nfs_rootconf(0)... done. fhanew_init(0)... done. subsystem d000000 proc0_post(0)... done. subsystem d800000 sctp_syscalls_init(0)... done. selectinit(0)... done. subsystem dffff9c linker_preload_finish(0)... done. subsystem e000000 kick_init(0)... done. kstack_cache_init(0)... done. subsystem e400000 vm_pageout_init(0)... done. $x.1(&page_kp)... done. subsystem e800000 $x.1(&vm_kp)... done. subsystem ea00000 $x.1(&bufspace_kp)... done. $x.1(&buf_kp)... done. subsystem ec00000 $x.1(&vnlru_kp)... done. $x.1(&up_kp)... done. subsystem ee00000 acpi_acad_ac_only(0)... done. nfsiod_setup(0)... done. subsystem f000000 release_aps(0)... Release APs APs not started done. tmr_setup_user_access(0)... done. intr_irq_shuffle(0)... done. tqg_record_smp_started(0)... done. netisr_start(0)... done. cpuset_init(0)... done. taskqgroup_adjust_if_config_tqg(0)... done. identify_cpu_sysinit(0)... CPU 0: ARM Cortex-A53 r0p4 affinity: 0 Instruction Set Attributes 0 =3D Instruction Set Attributes 1 =3D <0> Processor Features 0 =3D Processor Features 1 =3D <0> Memory Model Features 0 =3D <4k Granule,64k = Granule,MixedEndian,S/NS Mem,16bit ASID,1TB PA> Memory Model Features 1 =3D <> Debug Features 0 =3D <2 CTX Breakpoints,4 Watchpoints,6 = Breakpoints,PMUv3,Debug v8> Debug Features 1 =3D <0> Auxiliary Features 0 =3D <0> Auxiliary Features 1 =3D <0> CPU 1: (null) (null) r0p0 affinity: 0 CPU 2: (null) (null) r0p0 affinity: 0 CPU 3: (null) (null) r0p0 affinity: 0 done. taskqgroup_adjust_softirq(0)... x0: ffff000000a1c080 x1: fffffd0001031a80 x2: 3 [ thread pid 0 tid 100055 ] Stopped at thread_lock_flags_+0x298: ldr w4, [x3, #156] db>=20 taskqgroup_adjust_softirq seems to be from: /usr/src/sys/kern/subr_gtaskqueue.c : TASKQGROUP_DEFINE(softirq, mp_ncpus, 1); =3D=3D=3D Mark Millard markmi at dsl-only.net