Date: Fri, 12 Jan 2018 18:58:39 -0800 From: Mark Millard <markmi@dsl-only.net> To: bob prohaska <fbsd@www.zefox.net> Cc: Freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Hackers <freebsd-hackers@freebsd.org> Subject: Re: Builworld stalls on rpi2 [various processes stuck in pfault and vmwait with 1996M Free Swap listed by top] Message-ID: <866A14D4-2D81-4C2E-B902-0AD05514E709@dsl-only.net> In-Reply-To: <20180113024346.GB48702@www.zefox.net> References: <20180113005426.GA48702@www.zefox.net> <19904500-5819-47AC-9666-7103ED87C1CA@dsl-only.net> <20180113024346.GB48702@www.zefox.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2018-Jan-12, at 6:43 PM, bob prohaska <fbsd at www.zefox.net> wrote: > On Fri, Jan 12, 2018 at 05:53:03PM -0800, Mark Millard wrote: >>=20 >> On 2018-Jan-12, at 4:54 PM, bob prohaska <fbsd at www.zefox.net> = wrote: >>=20 >>>=20 >>> The machine still answers ping. Typing escape control-b does not >>> bring up a debugger, did the keysequence change? Power cycling seems >>> to be the only way out. >>=20 >> With or without: >>=20 >> options ALT_BREAK_TO_DEBUGGER >>=20 >> For with: <CR>~^B (with <CR> being <return> >> and ^ being <control>) is an alternate with >> this. >>=20 >=20 > The line=20 > options ALT_BREAK_TO_DEBUGGER > does not appear in the GENERIC kernel, but > neither does the ue identifier for ethernet. > I thought perhaps both were included from > elsewhere. Maybe not. I'll add it. >=20 >=20 I tend to include GENERIC in another file and then specify things I want as well or instead: # more /usr/src/sys/arm/conf/GENERIC-NODBG=20 include "GENERIC" ident GENERIC-NODBG makeoptions DEBUG=3D-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 # Enable verbose sysinit = messages #options BOOTVERBOSE=3D1 #options BOOTHOWTO=3DRB_VERBOSE 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 DIAGNOSTIC nooptions BUF_TRACKING nooptions FULL_BUF_TRACKING nooptions DEADLKRES # Enable the deadlock resolver nooptions USB_DEBUG nooptions USB_REQ_DEBUG nooptions USB_VERBOSE # more /usr/src/sys/arm/conf/GENERIC-DBG include "GENERIC" ident GENERIC-DBG makeoptions DEBUG=3D-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 # Enable verbose sysinit = messages #options BOOTVERBOSE=3D1 #options BOOTHOWTO=3DRB_VERBOSE #options KLD_DEBUG #options KTR #options KTR_MASK=3DKTR_TRAP|KTR_PROC ##options KTR_CPUMASK=3D0xF #options KTR_VERBOSE # Enable any extra checking for. . . options INVARIANTS # Enable calls of extra sanity = checking options INVARIANT_SUPPORT # Extra sanity checks of = internal structures, required by INVARIANTS options WITNESS # Enable checks to detect = deadlocks and cycles options WITNESS_SKIPSPIN # Don't run witness on spinlocks = for speed nooptions DIAGNOSTIC options BUF_TRACKING options FULL_BUF_TRACKING options DEADLKRES # Enable the deadlock resolver options USB_DEBUG #options USB_REQ_DEBUG #options USB_VERBOSE This avoids changing the official GENERIC. Of course I have to specify the non-default file name for the build. >> I've see the smsc0 messages before but I'm >> not up to -r327664+ yet. This has been with >> a non-debug kernel running. >>=20 >> I've had building large ports get into such states, >> especially while at least one large link operation >> was active with other fairly large processes, >> as I remember. >>=20 >> Note all the pfault and vmwait lines. It looks like >> -r327316 and -r327468 did not happen to avoid this. >> It looks like the paging/swaping has gotten stuck >> in some way. How tied that might be to smsc0 >> messages, I've no clue. >>=20 >> You might get through by using -j3 or -j2 or -j1 which >> likely would use less process space at once (worst case) >> than -j4 happened to. >>=20 >> Of course there are other time consequences as you >> approach -j1 (or no explicit -j for the buildworld >> at all). >>=20 >>=20 >=20 > I'd rather not slow things down, but slow is better than > crashed.... =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?866A14D4-2D81-4C2E-B902-0AD05514E709>