Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Dec 2013 13:29:13 +0400
From:      Ruslan Bukin <br@FreeBSD.org>
To:        Wojciech Macek <wma@semihalf.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: arm SMP on Cortex-A15
Message-ID:  <20131222092913.GA89153@mail.bsdpad.com>
In-Reply-To: <20131220125638.GA5132@mail.bsdpad.com>
References:  <CANsEV8euHTsfviiCMP_aet3qYiK2T-oK%2B-37eay7zAPH2S2vaA@mail.gmail.com> <20131220125638.GA5132@mail.bsdpad.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Qxx1br4bt0+wmkIi
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline

On Fri, Dec 20, 2013 at 04:56:39PM +0400, Ruslan Bukin wrote:
> On Thu, Dec 19, 2013 at 12:41:59PM +0100, Wojciech Macek wrote:
> > Hi,
> > 
> > Finally, I'm able to run FreeBSD stable on Cortex-A15. The TLB issue which
> > was observed, was caused by an aggressive A15 feature called "L2 TLB
> > prefetch".
> > 
> 
> Great!? I successfully run buildworld with these patches on SMP-enabled
> dual-core Cortex-A15 machine (Exynos5250) with no problems at all.
> 
> My timings:
>  kernel-toolchain - ~3h
>  buildkernel - ~1h
>  buildworld - ~16h
> 
> Note I used NFS for mount source and obj using USB-based ethernet.
> The next test I will try to produce is to adding -j2 option.
> 

With -j2 it always goes panic, not immediately,
but after a few minutes of compilation, like this.

-Ruslan

--Qxx1br4bt0+wmkIi
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename=panic

--- games.cleandir__D ---
===> games/primes (cleandir)
--- lib.cleandir__D ---
--- cleanobj ---
--- games.cleandir__D ---
--- cleanobj ---
--- lib.cleandir__D ---
===> lib/libedit (cleandir)
--- games.cleandir__D ---
===> games/random (cleandir)
--- lib.cleandir__D ---
--- cleanobj ---
panic: Undefined instruction in kernel.

cpuid = 1
KDB: enter: panic
[ thread pid 5469 tid 100078 ]
Stopped at      kdb_enter+0x4c: ldrb    r15, [r15, r15, ror r15]!
db> bt
Tracing pid 5469 tid 100078 td 0xc6132640
db_trace_self() at db_trace_self
         pc = 0xc1231a24  lr = 0xc0f2f2d4 (db_hex2dec+0x4dc)
         sp = 0xfa2449b0  fp = 0xfa2449c8
        r10 = 0xc131af80
db_hex2dec() at db_hex2dec+0x4dc
         pc = 0xc0f2f2d4  lr = 0xc0f2ec40 (db_command_loop+0x2f0)
         sp = 0xfa2449d0  fp = 0xfa244a70
         r4 = 0x00000000  r5 = 0x00000000
         r6 = 0xc1289f9c
db_command_loop() at db_command_loop+0x2f0
         pc = 0xc0f2ec40  lr = 0xc0f2e9b0 (db_command_loop+0x60)
         sp = 0xfa244a78  fp = 0xfa244a88
         r4 = 0xc1267b79  r5 = 0xc1283402
         r6 = 0xc136608c  r7 = 0xc135c4d0
         r8 = 0xfa244c60  r9 = 0xc131b1f0
        r10 = 0xc135c4d4
db_command_loop() at db_command_loop+0x60
         pc = 0xc0f2e9b0  lr = 0xc0f313b0 (X_db_symbol_values+0x254)
         sp = 0xfa244a90  fp = 0xfa244bb0
         r4 = 0x00000000  r5 = 0xfa244a98
         r6 = 0xc135c500
X_db_symbol_values() at X_db_symbol_values+0x254
         pc = 0xc0f313b0  lr = 0xc1090984 (kdb_trap+0x164)
         sp = 0xfa244bb8  fp = 0xfa244be0
         r4 = 0x00000000  r5 = 0x00000001
         r6 = 0xc135c500  r7 = 0xc135c4d0
kdb_trap() at kdb_trap+0x164
         pc = 0xc1090984  lr = 0xc1244c50 (undefinedinstruction+0x2b4)
         sp = 0xfa244be8  fp = 0xfa244c58
         r4 = 0x00000000  r5 = 0xc1244900
         r6 = 0x00000000  r7 = 0xe7ffffff
         r8 = 0xc6132640  r9 = 0xfa244c60
        r10 = 0xc10900e8
undefinedinstruction() at undefinedinstruction+0x2b4
         pc = 0xc1244c50  lr = 0xc1233610 (exception_exit)
         sp = 0xfa244c60  fp = 0xfa244cb8
         r4 = 0xc128345c  r5 = 0x00000001
         r6 = 0xc134e030  r7 = 0xc134e1d0
         r8 = 0xc6132640  r9 = 0xc1367bd0
        r10 = 0xfa244cfc
exception_exit() at exception_exit
         pc = 0xc1233610  lr = 0xc10900dc (kdb_enter+0x40)
         sp = 0xfa244cb4  fp = 0xfa244cb8
         r0 = 0xc135c4e4  r1 = 0x00000000
         r2 = 0xc1286ffa  r3 = 0x000000ab
         r4 = 0xc128345c  r5 = 0x00000001
         r6 = 0xc134e030  r7 = 0xc134e1d0
         r8 = 0xc6132640  r9 = 0xc1367bd0
        r10 = 0xfa244cfc r12 = 0x00000000
kdb_enter() at kdb_enter+0x50
         pc = 0xc10900ec  lr = 0xc1059d28 (kassert_panic+0x244)
         sp = 0xfa244cc0  fp = 0xfa244ce0
         r4 = 0x00000100
kassert_panic() at kassert_panic+0x244
         pc = 0xc1059d28  lr = 0xc1059d98 (kproc_shutdown)
         sp = 0xfa244ce8  fp = 0xfa244cf0
         r4 = 0x00000000  r5 = 0xc12457b4
         r6 = 0xc1365f64  r7 = 0xecb20a20
         r8 = 0xc6132640  r9 = 0xfa244d80
        r10 = 0xc12458c4
kproc_shutdown() at kproc_shutdown
         pc = 0xc1059d98  lr = 0xc1244cd0 (undefinedinstruction+0x334)
         sp = 0xfa244cf8  fp = 0xfa244d78
         r4 = 0xfa244cfc  r5 = 0xc107f470
undefinedinstruction() at undefinedinstruction+0x334
         pc = 0xc1244cd0  lr = 0xc1233610 (exception_exit)
         sp = 0xfa244d80  fp = 0xfa244de0
         r4 = 0x00000010  r5 = 0x00000000
         r6 = 0xc1365f70  r7 = 0x00000000
         r8 = 0xc6132640  r9 = 0xfa244e60
        r10 = 0x2011e750
exception_exit() at exception_exit
         pc = 0xc1233610  lr = 0xc1244aa8 (undefinedinstruction+0x10c)
         sp = 0xfa244dd4  fp = 0xfa244de0
         r0 = 0x00000001  r1 = 0xfa244eb0
         r2 = 0xfa244ef0  r3 = 0x00000010
         r4 = 0x00000010  r5 = 0x00000000
         r6 = 0xc1365f70  r7 = 0x00000000
         r8 = 0xc6132640  r9 = 0xfa244e60
        r10 = 0x2011e750 r12 = 0x0002ec68
vfp_bounce() at vfp_bounce+0x110
         pc = 0xc12458c4  lr = 0xc1244aa8 (undefinedinstruction+0x10c)
         sp = 0xfa244de8  fp = 0xfa244e58
         r4 = 0x00000010  r5 = 0xc12457b4
         r6 = 0xc1365f70  r7 = 0xec828b10
undefinedinstruction() at undefinedinstruction+0x10c
         pc = 0xc1244aa8  lr = 0xc1233610 (exception_exit)
         sp = 0xfa244e60  fp = 0xbfffe658
         r4 = 0x00000000  r5 = 0xbfffe530
         r6 = 0x2080b2ac  r7 = 0x00030a04
         r8 = 0xbfffec39  r9 = 0x00000008
        r10 = 0x2080b2bc
exception_exit() at exception_exit
         pc = 0xc1233610  lr = 0x2013481c (0x2013481c)
         sp = 0xfa244eb4  fp = 0xbfffe658
         r0 = 0xbfffe530  r1 = 0x4278f502
         r2 = 0xbfffe5b0  r3 = 0x20233ae0
         r4 = 0x00000000  r5 = 0xbfffe530
         r6 = 0x2080b2ac  r7 = 0x00030a04
         r8 = 0xbfffec39  r9 = 0x00000008
        r10 = 0x2080b2bc r12 = 0x0002ec68
Unable to unwind into user mode
db> 

--Qxx1br4bt0+wmkIi--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131222092913.GA89153>