From owner-svn-src-head@freebsd.org Tue Feb 6 23:06:38 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E721F10574; Tue, 6 Feb 2018 23:06:38 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebi.us (glebi.us [96.95.210.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cell.glebi.us", Issuer "cell.glebi.us" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 0657D87FE8; Tue, 6 Feb 2018 23:06:37 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebi.us (localhost [127.0.0.1]) by cell.glebi.us (8.15.2/8.15.2) with ESMTPS id w16N6alN002508 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 6 Feb 2018 15:06:36 -0800 (PST) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebi.us (8.15.2/8.15.2/Submit) id w16N6aW7002507; Tue, 6 Feb 2018 15:06:36 -0800 (PST) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebi.us: glebius set sender to glebius@FreeBSD.org using -f Date: Tue, 6 Feb 2018 15:06:35 -0800 From: Gleb Smirnoff To: Peter Holm Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r328916 - in head/sys: kern vm Message-ID: <20180206230635.GE1063@FreeBSD.org> References: <201802060416.w164G0va096970@repo.freebsd.org> <20180206113017.GA25428@x2.osted.lan> <20180206182839.GB1063@FreeBSD.org> <20180206193430.GA36054@x2.osted.lan> <20180206221555.GC1063@FreeBSD.org> <20180206225244.GA40529@x2.osted.lan> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="sdtB3X0nJg68CQEu" Content-Disposition: inline In-Reply-To: <20180206225244.GA40529@x2.osted.lan> User-Agent: Mutt/1.9.3 (2018-01-21) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Feb 2018 23:06:38 -0000 --sdtB3X0nJg68CQEu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Feb 06, 2018 at 11:52:44PM +0100, Peter Holm wrote: P> On Tue, Feb 06, 2018 at 02:15:55PM -0800, Gleb Smirnoff wrote: P> > Peter, P> > P> > can you please check post r328952 kernel? P> > P> P> Sure. P> P> FreeBSD 12.0-CURRENT #0 r328956: Tue Feb 6 23:26:58 CET 2018 P> pho@x4.osted.lan:/usr/src/sys/i386/compile/PHO i386 P> FreeBSD clang version 6.0.0 (branches/release_60 321788) (based on LLVM 6.0.0) P> WARNING: WITNESS option enabled, expect reduced performance. P> WARNING: DIAGNOSTIC option enabled, expect reduced performance. P> Entering uma_startup with 9 boot pages configured P> startup_alloc from "UMA Kegs", 8 boot pages left P> startup_alloc from "UMA Zones", 7 boot pages left P> startup_alloc from "UMA Hash", 6 boot pages left P> startup_alloc from "UMA Zones", 5 boot pages left P> startup_alloc from "vmem btag", 4 boot pages left P> startup_alloc from "MAP", 3 boot pages left P> startup_alloc from "UMA Kegs", 2 boot pages left P> startup_alloc from "KMAP ENTRY", 1 boot pages left P> panic: UMA: Increase vm.boot_pages Off by one :( Can you please boot with this patch and show dmesg? -- Gleb Smirnoff --sdtB3X0nJg68CQEu Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="boot_pages_verbose.diff" Index: sys/vm/uma_core.c =================================================================== --- sys/vm/uma_core.c (revision 328955) +++ sys/vm/uma_core.c (working copy) @@ -1800,6 +1800,7 @@ uma_startup_count(int zones) /* Memory for the zone of zones and zone of kegs. */ pages = howmany(roundup(zsize, CACHE_LINE_SIZE) * 2 + roundup(ksize, CACHE_LINE_SIZE), PAGE_SIZE); + printf("boot_pages master %d\n", pages); zones += UMA_BOOT_ZONES; @@ -1808,9 +1809,11 @@ uma_startup_count(int zones) pages += zones * howmany(zsize, UMA_SLAB_SIZE); else pages += howmany(zones, UMA_SLAB_SIZE / zsize); + printf("boot_pages zones %d\n", pages); /* ... and their kegs. */ pages += howmany(zones, UMA_SLAB_SIZE / ksize); + printf("boot_pages kegs %d\n", pages); /* * Take conservative approach that every zone @@ -1818,6 +1821,7 @@ uma_startup_count(int zones) */ pages += howmany(zones, UMA_SLAB_SIZE / (sizeof(struct slabhead *) * UMA_HASH_SIZE_INIT)); + printf("boot_pages hash %d\n", pages); return (pages); } Index: sys/vm/vm_page.c =================================================================== --- sys/vm/vm_page.c (revision 328955) +++ sys/vm/vm_page.c (working copy) @@ -518,8 +518,10 @@ vm_page_startup(vm_offset_t vaddr) /* vmem_startup() calls uma_prealloc(). */ boot_pages += vmem_startup_count(); + printf("boot_pages vmem %s\n", boot_pages); /* vm_map_startup() calls uma_prealloc(). */ boot_pages += howmany(MAX_KMAP, UMA_SLAB_SIZE / sizeof(struct vm_map)); + printf("boot_pages kmap %s\n", boot_pages); /* * Before going fully functional kmem_init() does allocation --sdtB3X0nJg68CQEu--