From owner-freebsd-arm@FreeBSD.ORG Wed Nov 26 11:58:43 2014 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 29749D02; Wed, 26 Nov 2014 11:58:43 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::11]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 86D08CDC; Wed, 26 Nov 2014 11:58:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; t=1417003098; l=5541; s=domk; d=ulrich-grey.de; h=Content-Transfer-Encoding:Content-Type:Mime-Version:References: In-Reply-To:Subject:Cc:To:From:Date; bh=fUB6fiiVinVvH8Bbrt7UXcMgufs=; b=udcooQbTdDO2r/wbzXwxudl5vB62UUaShphQdA6msSPV75wh9pNHRMKSInkV7xKOaV0 6C7BVceVyCLKUcsJY1cXXPjwQ61vBQgTFN5TVl2tKDP0LdmM3m7ls8SzeJtfqK634ES75 k18w9fMUQ379P9bTebrIocxofl3CAWCXbHs= X-RZG-AUTH: :OX8Be0W8W+pMC3rDLL/lo2xV/LZTbZkYhOcjg8suic3iYr/B8J9Lzp3TJg49scv6otY= X-RZG-CLASS-ID: mo00 Received: from bbu (p54869F28.dip0.t-ipconnect.de [84.134.159.40]) by smtp.strato.de (RZmta 36.1 DYNA|AUTH) with ESMTPSA id t01ca8qAQBw81pd (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate); Wed, 26 Nov 2014 12:58:08 +0100 (CET) Date: Wed, 26 Nov 2014 12:58:06 +0100 From: Ulrich Grey To: Svatopluk Kraus Subject: Re: Another Test Run with Alternative pmap Implementation Message-Id: <20141126125806.78f2df97328e807d12746ae3@ulrich-grey.de> In-Reply-To: References: <20141113125236.b16cd4e5f0e339eac0494cd4@ulrich-grey.de> <20141115143444.5ad037548e06f289d2532fb7@ulrich-grey.de> <20141119225903.81fbbc7809093a0e6e0de9d5@ulrich-grey.de> <20141120151900.a68c6d8316b96a62cb65d17a@ulrich-grey.de> <20141121115941.54d4e36b103341c3adf7eb36@ulrich-grey.de> <20141124132733.4e96b906f0d1ab69969dddd9@ulrich-grey.de> <1416840814.1147.380.camel@revolution.hippie.lan> <20141125225451.924a5df4bdb4753db273b8c5@ulrich-grey.de> Organization: - X-Mailer: Sylpheed 3.3.0 (GTK+ 2.24.22; armv6-portbld-freebsd10.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-arm@freebsd.org, Ian Lepore X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Nov 2014 11:58:43 -0000 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 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 wrote: > On Tue, Nov 25, 2014 at 10:54 PM, Ulrich Grey 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