From owner-svn-src-head@freebsd.org Sat Sep 16 19:02:02 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 61C35E0202E; Sat, 16 Sep 2017 19:02:02 +0000 (UTC) (envelope-from andreast@FreeBSD.org) Received: from smtp.imp.ch (smtp.imp.ch [IPv6:2001:4060:1:1001::13:196]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 283B2FB0; Sat, 16 Sep 2017 19:02:02 +0000 (UTC) (envelope-from andreast@FreeBSD.org) Received: from [192.168.225.14] (dhclient-91-190-10-49.flashcable.ch [91.190.10.49]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by fgznet.ch (Postfix) with ESMTPSA id 36EF9C06CD; Sat, 16 Sep 2017 21:01:56 +0200 (CEST) Subject: Re: svn commit: r323290 - head/sys/vm To: Mark Johnston Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201709072143.v87Lhdsg060310@repo.freebsd.org> <20170914203232.GA72190@bish> From: Andreas Tobler Message-ID: <67bb96f2-da01-8bce-65ba-bf811f51e56d@FreeBSD.org> Date: Sat, 16 Sep 2017 21:01:56 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20170914203232.GA72190@bish> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-CH Content-Transfer-Encoding: 7bit X-Scanned-By: Obelix Submit on 127.0.1.1 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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: Sat, 16 Sep 2017 19:02:02 -0000 On 14.09.17 22:32, Mark Johnston wrote: > On Thu, Sep 14, 2017 at 09:51:17PM +0200, Andreas Tobler wrote: >> Hi Mark, >> >> On 07.09.17 23:43, Mark Johnston wrote: >>> Author: markj >>> Date: Thu Sep 7 21:43:39 2017 >>> New Revision: 323290 >>> URL: https://svnweb.freebsd.org/changeset/base/323290 >>> >>> Log: >>> Speed up vm_page_array initialization. >>> >>> We currently initialize the vm_page array in three passes: one to zero >>> the array, one to initialize the "order" field of each page (necessary >>> when inserting them into the vm_phys buddy allocator one-by-one), and >>> one to initialize the remaining non-zero fields and individually insert >>> each page into the allocator. >>> >>> Merge the three passes into one following a suggestion from alc: >>> initialize vm_page fields in a single pass, and use vm_phys_free_contig() >>> to efficiently insert physical memory segments into the buddy allocator. >>> This reduces the initialization time to a third or a quarter of what it >>> was before on most systems that I tested. >>> >>> Reviewed by: alc, kib >>> MFC after: 3 weeks >>> Differential Revision: https://reviews.freebsd.org/D12248 >>> >>> Modified: >>> head/sys/vm/vm_page.c >>> head/sys/vm/vm_phys.c >>> head/sys/vm/vm_phys.h >> >> I just found out that this commit breaks booting my powerpc64 Quad G5. >> It hangs, pressing ctrl-t shows: cmd: sh [*vm active pagequeue]. >> >> Sometimes it hangs earlier when the kbd is not there yet (usb), then I >> can't get the process/task where it hangs. >> >> Note, this kernel is compiled with the default gcc (4.2.1-FreeBSD) >> >> Any ideas how to find out what's wrong? > > Are you able to break into DDB when the hang occurs? If so, the output > of "show page" would be helpful. Unfortunately not from the beginning. The keyboard is usb and it gets installed late. Once it survives the loading of the kbd and co, I can enter into ddb. But it is a trial and error. So far I didn't succeed to come that far. > Are you running with INVARIANTS configured? If not, please try that. The above was w/o INVARIANTS. With invariants the kernel panics immediately after boot, see pic. >> The previous revision, r323289 seems stable, at least it survived >> several kernel builds. > > Could you apply the patch below and capture the first page or so of > output from after the kernel starts booting? I applied this diff and you see its output on the pic: https://people.freebsd.org/~andreast/r323290_generic64_with_dbg_patch.jpg I try now to get that far that I have a kbd and capture a 'show page'. Thanks, Andreas