Kernel build fails on ARM: Cannot fork: Cannot allocate memory

Ruslan Bukin br at bsdpad.com
Sun Jun 23 14:44:13 UTC 2013


On Sun, Jun 23, 2013 at 05:32:48PM +0300, Konstantin Belousov wrote:
> On Sun, Jun 23, 2013 at 12:32:20PM +0400, Ruslan Bukin wrote:
> > On Sun, Jun 23, 2013 at 09:57:06AM +0300, Konstantin Belousov wrote:
> > > > I don't really see a lot of wasted memory in the zones.  There is 
> > > > certainly some.  Can you give me sysctl vm from both a working and 
> > > > non-working kernel after the build is done or fails?
> > > 
> > > Try this:
> > > http://people.freebsd.org/~kib/misc/arm_bcache.1.patch
> > > 
> > > Please _do_ notify me whether it compiled and helped with your problem.
> > 
> > Btw, there is a problem while allocating 2GB RAM on armv7 boards
> > while unmapped_buf_allowed == 1 (default):
> > 
> > -----
> > ## Starting application at 0x40F00000 ...
> > KDB: debugger backends: ddb              
> > KDB: current backend: ddb
> > Copyright (c) 1992-2013 The FreeBSD Project.
> > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
> > 	  The Regents of the University of California. All rights reserved.
> > FreeBSD is a registered trademark of The FreeBSD Foundation.
> > FreeBSD 10.0-CURRENT #5 r252090M: Sun Jun 23 12:18:31 MSK 2013
> >     root at intel.bsdpad.com:/usr/obj/arm.armv6/usr/home/br/dev/head/sys/ARNDALE arm
> > FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610
> > WARNING: DIAGNOSTIC option enabled, expect reduced performance.
> > CPU: Cortex A15 rev 4 (Cortex-A core)
> >  Supported features: ARM_ISA THUMB2 THUMBEE ARMv4 Security_Ext
> >  WB disabled EABT branch prediction enabled
> > LoUU:2 LoC:2 LoUIS:2 
> > Cache level 1: 
> >  32KB/64B 2-way data cache WB Read-Alloc Write-Alloc
> >  32KB/64B 2-way instruction cache Read-Alloc
> > Cache level 2: 
> >  1024KB/64B 16-way unified cache WB Read-Alloc Write-Alloc
> > real memory  = 2147483648 (2048 MB)
> > panic: kmem_suballoc: bad status return of 3
> > -----
> > 
> > arm_bcache.1.patch resolves the issue above, but forced another one:
> I have no idea why do you think that the patch 'forced' this issue.
> 
> > 
> > -----
> > Trying to mount root from ufs:/dev/da0 []...
> > WARNING: / was not properly dismounted
> > warning: no time-of-day clock registered, system time will not be set accurately
> > panic: __rw_wlock_hard: recursing but non-recursive rw pmap pv global @ /usr/home/br/dev/head/sys/arm/arm/pmap-v6.c:1289
> > -----
> This is useless without a backtrace.

Trying to mount root from ufs:/dev/da0 []...
WARNING: / was not properly dismounted
warning: no time-of-day clock registered, system time will not be set accurately
panic: __rw_wlock_hard: recursing but non-recursive rw pmap pv global @ /usr/home/br/dev/head/sys/arm/arm/pmap-v6.c:1289

KDB: enter: panic
[ thread pid 1 tid 100001 ]
Stopped at      kdb_enter+0x48: ldrb    r15, [r15, r15, ror r15]!
db> bt
Tracing pid 1 tid 100001 td 0xc547f620
_end() at 0xde9d0530
scp=0xde9d0530 rlv=0xc1211458 (db_trace_thread+0x34)
        rsp=0xde9d0514 rfp=0xc12d1b60
Bad frame pointer: 0xc12d1b60
db> 

> 
> > 
> > and there are no problems at all if unmapped_buf_allowed == 0
> > 
> > -Ruslan





More information about the freebsd-current mailing list