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

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Sun, 23 Jun 2013 19:16:17 +0300
On Sun, Jun 23, 2013 at 06:43:46PM +0400, Ruslan Bukin wrote:
> 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 _at_ /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 _at_ /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> 
This is completely broken.  It seems that witness triggered the panic,
and ddb is unable to obtain a backtrace from the normal panic(9) call.

Show the output of the 'show alllocks'.
> 
> > 
> > > 
> > > and there are no problems at all if unmapped_buf_allowed == 0
> > > 
> > > -Ruslan
> 
> 

Received on Sun Jun 23 2013 - 14:16:28 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:38 UTC