From owner-freebsd-arch@FreeBSD.ORG Mon Oct 13 04:57:29 2014 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 38A5A764 for ; Mon, 13 Oct 2014 04:57:29 +0000 (UTC) Received: from server.tmk.com (server.tmk.com [204.141.35.63]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0F374B1B for ; Mon, 13 Oct 2014 04:57:28 +0000 (UTC) Received: from tmk.com by tmk.com (PMDF V6.6 #37010) id <01PDOH07KRC00003PW@tmk.com> for freebsd-arch@freebsd.org; Mon, 13 Oct 2014 00:57:10 -0400 (EDT) Date: Mon, 13 Oct 2014 00:56:09 -0400 (EDT) From: Terry Kennedy Subject: [rfc] Add boot-time warning messages to PAE kernels To: freebsd-arch@freebsd.org Message-id: <01PDOI9M51BK0003PW@tmk.com> MIME-version: 1.0 Content-type: TEXT/PLAIN; CHARSET=us-ascii X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Oct 2014 04:57:29 -0000 [Inspired by an unrelated email conversation with jhb@] On the FreeBSD forums and also elsewhere, people frequently ask questions about enabling PAE. Generally, this is because they don't know that amd64 kernels will run on their hardware. I initially proposed a static warning message, similar to the ones that happen when a kernel is built with INVARIANTS or WITNESS, with some sort of warning that "You probably don't want to do this". On thinking it over and discussing with jhb@, I think there are three scenarios that could be addressed: 1) Boot PAE kernel on any amd64-capable processor - display a warning message stating that the user should consider using the amd64 kernel instead. 2) Boot PAE kernel on any processor - display a warning message that driver support is limited on PAE kernels and that they receive less testing than non-PAE kernels. 3) [Possibly] Boot i386 kernel on amd64-capable system w/ > 4GB of RAM - display an informational message that the user should consider using the amd64 kernel instead. This way, anyone that still needs to run a PAE kernel can, but the users who choose it by accident or mistake will be guided to the amd64 kernel. Adding a similar message to i386 kernels on amd64-capable hardware w/ more than 4GB of RAM will likewise direct those users toward a more optimal kernel. I mention this because I was having a conversation with a user who was trying to get ZFS going but "ran out of memory" on a 12GB system due to using the i386 kernel. All of this information (processor capability flags and memory size) is available early enough in the boot process that the messages can be displayed near the beginning of the kernel messages. Non-amd64-capable systems that have > 4GB were always a small subset of the population, and that hardware has aged enough that much of it is no longer used in its original role as business servers. These are pre-Socket 604 systems, for example. amd64-capable hardware has been available for more than 10 years from both AMD and Intel at this point. Terry Kennedy http://www.tmk.com terry@tmk.com New York, NY USA