From owner-svn-src-all@FreeBSD.ORG Sun Jul 21 18:37:39 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 32393E54; Sun, 21 Jul 2013 18:37:39 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from monday.kientzle.com (99-115-135-74.uvs.sntcca.sbcglobal.net [99.115.135.74]) by mx1.freebsd.org (Postfix) with ESMTP id E7F02CC5; Sun, 21 Jul 2013 18:37:38 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.4/8.14.4) id r6LIbWsr033546; Sun, 21 Jul 2013 18:37:32 GMT (envelope-from kientzle@freebsd.org) Received: from [192.168.2.123] (CiscoE3000 [192.168.1.65]) by kientzle.com with SMTP id ykvsiua35miqa6f8jyngie3ay6; Sun, 21 Jul 2013 18:37:31 +0000 (UTC) (envelope-from kientzle@freebsd.org) Subject: Re: svn commit: r251709 - head/sys/vm Mime-Version: 1.0 (Apple Message framework v1283) Content-Type: text/plain; charset=us-ascii From: Tim Kientzle In-Reply-To: <0AA48233-11CD-482E-82DE-E0F8C833E36E@kientzle.com> Date: Sun, 21 Jul 2013 11:37:30 -0700 Content-Transfer-Encoding: 7bit Message-Id: <49DCB494-32B5-46D7-89FC-8B03477EC945@freebsd.org> References: <201306132105.r5DL5c4F013089@svn.freebsd.org> <20130615113503.4f5509dd@bender.Home> <20130618233450.71d9d03b@bender.Home> <0AA48233-11CD-482E-82DE-E0F8C833E36E@kientzle.com> To: Andrew Turner , Jeff Roberson X-Mailer: Apple Mail (2.1283) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Jul 2013 18:37:39 -0000 >> On Sat, 15 Jun 2013 11:35:03 +0100 >> Andrew Turner wrote: >> >>> On Thu, 13 Jun 2013 21:05:38 +0000 (UTC) >>> Jeff Roberson wrote: >>> >>>> Author: jeff >>>> Date: Thu Jun 13 21:05:38 2013 >>>> New Revision: 251709 >>>> URL: http://svnweb.freebsd.org/changeset/base/251709 >>>> >>>> Log: >>>> - Convert the slab free item list from a linked array of indices >>>> to a bitmap using sys/bitset. This is much simpler, has lower space >>>> overhead and is cheaper in most cases. >>>> - Use a second bitmap for invariants asserts and improve the >>>> quality of the asserts as well as the number of erroneous conditions >>>> that we will catch. >>>> - Drastically simplify sizing code. Special case refcnt zones >>>> since they will be going away. >>>> - Update stale comments. >>> >>> This broke booting for my on the Raspberry Pi for me. If I revert just >>> this change the board boots as expected. Kernel output from the boot >>> failure follows. As Andrew pointed out some time ago, this broke armv6 with: panic: lock "vm map (user)" 0xc09cc050 already initialized I put in some debug printfs and verified that this is actually the first time that vm_map_zinit is called. So I don't think the lock is actually being re-initialized; rather I think it's a problem with uninitialized memory. The following seems to fix it for me: Index: sys/vm/vm_map.c =================================================================== --- sys/vm/vm_map.c (revision 253514) +++ sys/vm/vm_map.c (working copy) @@ -239,8 +239,7 @@ vm_map_t map; map = (vm_map_t)mem; - map->nentries = 0; - map->size = 0; + memset(map, 0, sizeof(*map)); mtx_init(&map->system_mtx, "vm map (system)", NULL, MTX_DEF | MTX_DUPOK); sx_init(&map->lock, "vm map (user)"); return (0);