Date: Wed, 26 Nov 2014 12:58:06 +0100 From: Ulrich Grey <usenet@ulrich-grey.de> To: Svatopluk Kraus <onwahe@gmail.com> Cc: freebsd-arm@freebsd.org, Ian Lepore <ian@freebsd.org> Subject: Re: Another Test Run with Alternative pmap Implementation Message-ID: <20141126125806.78f2df97328e807d12746ae3@ulrich-grey.de> In-Reply-To: <CAFHCsPXPEN3U%2B0=AtAJ4dL5g7jGuyW6=u%2B-tbHf3xH1QdJYyhQ@mail.gmail.com> References: <20141113125236.b16cd4e5f0e339eac0494cd4@ulrich-grey.de> <C6FED1A5-490C-47BE-B071-484271ED370E@me.com> <20141115143444.5ad037548e06f289d2532fb7@ulrich-grey.de> <CAFHCsPUJ1HhLqAjitPg6mPzhMYSui64Xmu4omO7Pkp%2B0kPZnAA@mail.gmail.com> <20141119225903.81fbbc7809093a0e6e0de9d5@ulrich-grey.de> <CAFHCsPXnSFY_X-O73M%2Bh0xO_XJ0cTmkRwtu-o4omPndnfbEhmg@mail.gmail.com> <20141120151900.a68c6d8316b96a62cb65d17a@ulrich-grey.de> <CAFHCsPWTnU7j0MC7YSHFFDE97%2B%2BBrnkJKGnK9zkxVGemaa6nAw@mail.gmail.com> <20141121115941.54d4e36b103341c3adf7eb36@ulrich-grey.de> <20141124132733.4e96b906f0d1ab69969dddd9@ulrich-grey.de> <1416840814.1147.380.camel@revolution.hippie.lan> <20141125225451.924a5df4bdb4753db273b8c5@ulrich-grey.de> <CAFHCsPXPEN3U%2B0=AtAJ4dL5g7jGuyW6=u%2B-tbHf3xH1QdJYyhQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, yesterday I have made two testruns with your updated source tree. In the FIRST run no debug options were activated. Only ARM_NEW_PMAP was added to the kernel configuration. The _build_ (make -j20) hung after about 6 to 7 hours here (see my email from 2014-11-22, the same situation, I think): --- cpp_helpers --- c++ -O -pipe -I/usr/local/DEVEL/STREJDA/freebsd/contrib/atf -Qunused-arguments -Wno-c+ +11-extensions -L/usr/obj/usr/local/DEVEL/STREJDA/freebsd/tmp/usr/lib/private -rpath /usr/lib/private -o cpp_helpers cpp_helpers.o /usr/obj/usr/local/DEVEL/STREJDA/freebsd/lib/atf/libatf-c++/libatf-c+ +.so /usr/obj/usr/local/DEVEL/STREJDA/freebsd/lib/atf/libatf-c/libatf-c.so I tried a second run with make -DNO_CLEAN buildworld, but that hung here: ===> share/termcap (all) TERM=dumb TERMCAP=dumb: ex - /usr/local/DEVEL/STREJDA/freebsd/share/termcap/termcap.src < /usr/local/DEVEL/STREJDA/freebsd/share/termcap/reorder ## To prepare the SECOND run, I build a new kernel with debug options and ARM_NEW_PMAP: # Debugging support. Always need this: options KDB # Enable kernel debugger support. # For minimum debugger support use KDB_TRACE, for interactive use DDB. options KDB_TRACE # Print a stack trace for a panic. options DDB # Support DDB. # For full debugger support use this instead: #options GDB # Support remote GDB. # Other debugging options... makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols options ALT_BREAK_TO_DEBUGGER # Use <CR><tilde><ctrl-b> to enter debugger. options DEBUG options 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 options WITNESS # Enable # checks to detect deadlocks and cycles options DIAGNOSTIC # I build a new kernel, checked all filesystems twice, deleted /usr/obj/* and cleaned the source tree twice. Then I did: root@quad:/usr/src # make -j20 buildworld the _build_ hung after ca. 8 - 9 hours. top -P on another terminal works, the system works furthermore. I have waited some time, then breaked to debugger. --- cpp_helpers --- c++ -O -pipe -I/usr/local/DEVEL/STREJDA/freebsd/contrib/atf -Qunused-arguments -Wno-c+ +11-extensions -L/usr/obj/usr/local/DEVEL/STREJDA/freebsd/tmp/usr/lib/private -rpath /usr/lib/private -o cpp_helpers cpp_helpers.o /usr/obj/usr/local/DEVEL/STREJDA/freebsd/lib/atf/libatf-c++/libatf-c+ +.so /usr/obj/usr/local/DEVEL/STREJDA/freebsd/lib/atf/libatf-c/libatf-c.so It is the same place, I think. ## root@quad:/usr/src/sys/arm/include # from file vm.h: #define VM_MEMATTR_UNCACHEABLE VM_MEMATTR_NOCACHE /*name is misused by DMA */ regards Ulrich ---------------------------------- On Wed, 26 Nov 2014 11:54:42 +0100 Svatopluk Kraus <onwahe@gmail.com> wrote: > On Tue, Nov 25, 2014 at 10:54 PM, Ulrich Grey <usenet@ulrich-grey.de> wrote: > > > Hello, > > > > I updated the source tree from Svatopluk Kraus and build an Image (crochet, > > wandboard-quad). The kernel is compiled with ARM_NEW_PMAP: > > > > root@quad:/usr/home/gwgpi # uname -a > > FreeBSD quad 11.0-CURRENT FreeBSD 11.0-CURRENT #0 428e9d2(master)-dirty: > > Tue Nov 25 > > 09:45:07 UTC 2014 > > root@quad:/usr/local/DEVEL/obj/usr/local/DEVEL/STREJDA/freebsd/sys/WANDBOARD-QUAD > > arm > > > > root@quad:/usr/home/gwgpi # sysctl vm.pmap. > > vm.pmap.pv_entry_max: 1745184 > > vm.pmap.shpgperproc: 200 > > vm.pmap.nkpt2pg: 32 > > vm.pmap.sp_enabled: 1 > > vm.pmap.pte1.demotions: 22 > > vm.pmap.pte1.mappings: 0 > > vm.pmap.pte1.p_failures: 122 > > vm.pmap.pte1.promotions: 38 > > vm.pmap.pv_entry_count: 12369 > > vm.pmap.pc_chunk_count: 43 > > vm.pmap.pc_chunk_allocs: 1981 > > vm.pmap.pc_chunk_frees: 1938 > > vm.pmap.pc_chunk_tryfail: 0 > > vm.pmap.pv_entry_frees: 417470 > > vm.pmap.pv_entry_allocs: 429839 > > vm.pmap.pv_entry_spare: 2079 > > > > # > > Then I did: > > root@quad:/usr/src # make -j20 buildworld > > > > # > > The build hangs here (not for the first time): > > > > --- cpp_helpers --- > > > > c++ -O -pipe -I/usr/local/DEVEL/STREJDA/freebsd/contrib/atf > > -Qunused-arguments -Wno-c+ > > +11-extensions > > -L/usr/obj/usr/local/DEVEL/STREJDA/freebsd/tmp/usr/lib/private > > -rpath /usr/lib/private -o cpp_helpers > > cpp_helpers.o > > /usr/obj/usr/local/DEVEL/STREJDA/freebsd/lib/atf/libatf-c++/libatf-c+ > > +.so /usr/obj/usr/local/DEVEL/STREJDA/freebsd/lib/atf/libatf-c/libatf-c.so > > > > # > > I did a break into the debugger and this is the output: > > [...] > > > > Please tell me: > (0) Does system hang or only the build? Can you terminate the build when it > hangs by ctrl c? > (1) Invariants was on or off? > (2) Memory attributes for DMA buffers was VM_MEMATTR_NOCACHE or > VM_MEMATTR_SO? > (3) How long does the build run before it hangs? > (4) Does it really hang on same place? > > Can you run the test with invariants on if it was off and with memory > attributes for DMA buffers VM_MEMATTR_SO if it was VM_MEMATTR_NOCACHE? If > it helps, set invariants off and try again. > > It's always worth to try it with vm.pmap.sp_enabled=0. > > Considering debug terminal, after you type "show all pcpu", look at output > and type "where #pid" for current threads on all cpus except idle ones. For > example, in sent debug output, there is only one non idle current thread on > cpu #3, so it would be "where 92540". > > Svatopluk Kraus
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20141126125806.78f2df97328e807d12746ae3>