Another Test Run with Alternative pmap Implementation

Svatopluk Kraus onwahe at gmail.com
Wed Nov 26 10:54:44 UTC 2014


On Tue, Nov 25, 2014 at 10:54 PM, Ulrich Grey <usenet at 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 at 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 at quad:/usr/local/DEVEL/obj/usr/local/DEVEL/STREJDA/freebsd/sys/WANDBOARD-QUAD
> arm
>
> root at 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 at 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


More information about the freebsd-arm mailing list