From owner-freebsd-arch@FreeBSD.ORG Wed Mar 23 17:14:43 2011 Return-Path: Delivered-To: freebsd-arch@FreeBSD.ORG Received: by hub.freebsd.org (Postfix, from userid 1233) id E8500106571D; Wed, 23 Mar 2011 17:14:43 +0000 (UTC) Date: Wed, 23 Mar 2011 17:14:43 +0000 From: Alexander Best To: Oliver Fromme Message-ID: <20110323171443.GA59972@freebsd.org> References: <201103231029.p2NATtwg090498@lurza.secnetix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <201103231029.p2NATtwg090498@lurza.secnetix.de> Cc: bz@FreeBSD.ORG, freebsd-arch@FreeBSD.ORG Subject: Re: kernel memory checks on boot vs. boot time X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2011 17:14:44 -0000 On Wed Mar 23 11, Oliver Fromme wrote: > Bjoern A. Zeeb wrote: > > as part of the i386/pc98/amd64 boot process we are doing some basic > > memory testing, mapping pages and running a couple of pattern > > write/read tests on the first bytes (see getmemsize() implmentations). > > [...] > > With the growing number of memory this can lead to a significant > > fraction of kernel startup time on amd64 (~40s delays observed with > > 96G of RAM). Looping over the pages, but not mapping them and not > > running the pattern tests reduces this significantly (to single digit > > numbers of seconds). > > [...] > > Not wanting to remove them but maybe make more use of them in the > > future (as we do not report any problems we find currently) I'd suggest > > to introduce a tunable to disable/enable them, say > > > > hw.run_memtest > > +1 for introducing a tunable. > > I have also noticed the boot delay on server machines with > lots of memory (all of them are amd64, FWIW). Co-workers > have noticed it, too, causing some funny remarks. :-) or how about we dump the current memory checks, introduce a tunable and implement some *real* memory checks. as john pointed out the current checks are just rudimentary. > > By the way, "big" servers are not the only machines affected. > I have recently built a small HTPC based on an Atom 330 > (it supports amd64) with 4 GB RAM. Unfortunately, suspend + > resume doesn't work, so I have to shutdown and boot it fully > each time I want to use it. Needless to say, I would like > to squeeze every second from the boot process. Currently, > the time between the transition from bootloader to kernel > and the start of init(8) is by far the largest slice of the > total boot time. just as a side note: booting a kernel directly from boot stage 2 is broken on amd64. :( so there's no way around using the boot loader, which will cost extra time (even with autoboot_delay=0). so was the adbility to boot a kernel directly from boot2 abandoned? i heard reports it still works under i386. dunno about the other archs. cheers. alex > > Best regards > Oliver > > -- > Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. > Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: > secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- > chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart > > FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd > > "What is this talk of 'release'? We do not make software 'releases'. > Our software 'escapes', leaving a bloody trail of designers and quality > assurance people in its wake." -- a13x