From owner-freebsd-arm@FreeBSD.ORG Fri May 23 12:52:23 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 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A49EF2C5 for ; Fri, 23 May 2014 12:52:23 +0000 (UTC) Received: from zibbi.meraka.csir.co.za (zibbi.meraka.csir.co.za [IPv6:2001:4200:7000:2::1]) by mx1.freebsd.org (Postfix) with ESMTP id 4AED22995 for ; Fri, 23 May 2014 12:52:23 +0000 (UTC) Received: by zibbi.meraka.csir.co.za (Postfix, from userid 3973) id CA676B828; Fri, 23 May 2014 14:52:19 +0200 (SAST) Date: Fri, 23 May 2014 14:52:19 +0200 From: John Hay To: freebsd-arm@freebsd.org Subject: AVILA panic: vm_fault: fault on nofault entry Message-ID: <20140523125219.GA60793@zibbi.meraka.csir.co.za> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 May 2014 12:52:23 -0000 Hi Guys, Rather than abuse Warner's MK_ARM_EABI thread, I thought I'll start a new one. It seems that svn r259999 cause a variety of panics. It normally happens close to the end of the rc scripts or just after login if I do something like "dhclient npe0". ############ Starting cron. Segmentation fault vm_fault(0xc07aa4e4, 0, 2, 0) -> 1 Fatal kernel mode data abort: 'Translation Fault (P)' trapframe: 0xc091e510 FSR=00000017, FAR=00000000, spsr=a0000013 r0 =40000013, r1 =c0fcc000, r2 =00000000, r3 =00000000 r4 =c0d3e970, r5 =00000000, r6 =c06c5de0, r7 =c06f9140 r8 =c06f9100, r9 =c0d4f6d8, r10=c06c65a8, r11=c091e59c r12=00000001, ssp=c091e564, slr=c03f9368, pc =c0598cc0 [ thread pid 833 tid 100046 ] Stopped at getpbuf+0x110: str r2, [r3] ############ dhclient npe0 Segmentation fault # execve (/sbin/dhclient-script, ...): Exec format error exiting. panic: vm_radix_remove: impossible to locate the key KDB: enter: panic [ thread pid 12 tid 100008 ] Stopped at kdb_enter+0x48: ldrb r15, [r15, r15, ror r15]! ############ panic: vm_fault: fault on nofault entry, addr: c092e000 KDB: enter: panic [ thread pid 872 tid 100052 ] Stopped at kdb_enter+0x48: ldrb r15, [r15, r15, ror r15]! ############ The commit was: r259999 | alc | 2013-12-28 06:28:35 +0200 (Sat, 28 Dec 2013) | 8 lines MFp4 alc_popmap Change the way that reservations keep track of which pages are in use. Instead of using the page's PG_CACHED and PG_FREE flags, maintain a bit vector within the reservation. This approach has a couple benefits. First, it makes breaking reservations much cheaper because there are fewer cache misses to identify the unused pages. Second, it is a pre- requisite for supporting two or more reservation sizes. The changes was to sys/vm/vm_reserv.c and it does not look like there was any "fixes" later to that file, just some asserts added. Anyone have a clue why the AVILAs are so unhappy with this change, while it seems that all the other archs are ok with it? Or did it need some change in another file maybe? That commit did not touch other files. Regards John -- John Hay -- jhay@meraka.csir.co.za / jhay@meraka.org.za